2013-03-26 2 views
1

DevExpress의 XtrapivotGrid에서 얻는 스트림을 읽으 려합니다. 나는 그것을 컴퓨터에 저장할 수 있지만 내가 원하는 것은 dataset1이라는 내 데이터 세트의 내 테이블에 저장하는 것입니다. 당장은 내가 코드 Temp :을 저장하는 것을 허용합니다.FileStream의 내용을 데이터 세트에 넣으십시오.

  • ID (INT)
  • 이름 (NVARCHAR (50))
  • 내용 (XML) :
    Using FS As New IO.FileStream("D:\Temp\qqc.layout", IO.FileMode.Create) 
        PivotGridControl1.SaveLayoutToStream(FS) 
    End Using 
    
    Dim read As New System.IO.FileStream("D:\Temp\qqc.layout", IO.FileMode.Open, IO.FileAccess.Read) 
    DataSet1.LayoutMainRapport.ReadXml(read) 
    DataSet1.AcceptChanges() 
    read.Close() 
    

    테이블 LayoutMainRapport

    은 3 열이있다.

스트림의 출력은 xml입니다.

미리 감사드립니다.

답변

1

XML의 이름을 저장하고 내 데이터 세트에 저장하기 만하면됩니다.

Dim saveDialog As SaveLayout = New SaveLayout 
    If saveDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then 
     Dim read As New IO.MemoryStream 
     PivotGridControl1.SaveLayoutToStream(read) 
     read.Position = 0 
     Dim lecteur As New IO.StreamReader(read) 
     Dim ligne As DataRow = DataSet1.LayoutMainRapport.NewRow() 

     ligne("Nom") = saveDialog.txtNom.Text 
     ligne("Contenu") = lecteur.ReadToEnd() 
     DataSet1.LayoutMainRapport.Rows.Add(ligne) 
     LayoutMainRapportTableAdapter.Update(DataSet1) 
    End If 
1

난 당신이 문자열로 저장된 레이아웃을 변환하고 데이터베이스에이 문자열을 저장해야합니다 믿고 (물론 당신은 다시 데이터베이스 문자열 값에서이 레이아웃을로드 할 수 있습니다) :

Private Function SaveLayoutToString(ByVal dxControl As DevExpressControl) As String 
    Using ms As MemoryStream = New MemoryStream() 
     dxControl.SaveLayoutToStream(ms) 
     Return Convert.ToBase64String(ms.ToArray()) 
    End Using 
End Function 
Private Sub RestoreLayoutFromString(ByVal dxControl As DevExpressControl, ByVal layout As String) 
    If String.IsNullOrEmpty(layout) Then 
     Return 
    End If 
    Using ms As MemoryStream = New MemoryStream(Convert.FromBase64String(layout)) 
     dxControl.RestoreLayoutFromStream(ms) 
    End Using 
End Sub 
다음

DevExpressControl dxControl을 DevExpress의있다 저장 및로드 레이아웃 (XtraPivotGrid, XtraGrid, XtraLayoutControl 등)을 지원하는 컨트롤

관련 문제