現在のデータソースを新しいデータテーブルにマージすることで、データセットを毎回作成(ループ)せずに、データソースに複数のデータテーブルを追加したいと思います。
これは私のコードです:
' Those table are the same but have different data
' Tables() array, it's an example
For Each oTable As System.Data.DataTable In Tables
DisplayResult(oTable, ColumnsAreCreated)
Next
次に、結果をグリッドに表示します。
Private Function DisplayResults(ByVal oTable As System.Data.DataTable, ByRef ColumnsAreCreated As Boolean) As Boolean
If oTable.Rows.Count > 0 Then
Dim compt As Integer = 0
If Not ColumnsAreCreated Then
Dim NewColumn As DevExpress.XtraGrid.Columns.GridColumn
For Each oColumn As DataColumn In oTable.Columns
NewColumn = grdv.Columns.AddField(oColumn.ColumnName)
NewColumn.OptionsColumn.ReadOnly = True
NewColumn.Visible = True
NewColumn.VisibleIndex = compt
compt += 1
Next
ColumnsAreCreated = True
' I want to do something like : grdctrl.DataSource += oTable
grdctrl.DataSource = oTable
grdv.OptionsView.ColumnAutoWidth = False
grdv.BestFitColumns()
End If
End If
Return True
End Function
現在のデータを毎回消去したくないので、グリッド内の現在のデータソースを次のデータテーブルと1つずつ連結します。
データセットを作成し、それにデータテーブルを入れて、最後にグリッドコントロールにデータセットを提供したくありません。
データセットを作成せずにそれを行う方法はありますか?