- - PR -
dataTableを配列で扱いたい。
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-06-11 13:21
お世話になってます。
また、お知恵をお借りにまいりました。 以下のようにGridコントロールを使用していますが、 例えば3つのGridがあるとして、カラムや幅その他を、 setColumnというところで一括して指定できるようにし、 最初のロード時に、どのグリッド用かを指定して設定しています。 そこで、2,3のグリッドでも、dataTableを配列で扱えないかと 思料しています。 Dim dataSet As New dataSet Dim dgTableStyle As New DataGridTableStyle Dim dataTable1 As dataTable = dataSet.Tables.Add("Grid1") Dim dataTable2 As dataTable = dataSet.Tables.Add("Grid2") Dim dataTable3 As dataTable = dataSet.Tables.Add("Grid3") Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load DataGrid1.ReadOnly = True setColumn(1, 0, 50, "銀行", GetType(String)) setColumn(1, 1, 35, "支店", GetType(String)) : dgTableStyle.AllowSorting = False dgTableStyle.MappingName = dataTable1.TableName DataGrid1.TableStyles.Add(dgTableStyle) DataGrid2.ReadOnly = True setColumn(2, 0, 100, "フリガナ", GetType(String)) setColumn(2, 1, 60, "氏名", GetType(String)) : : DataGrid3.ReadOnly = True : End Sub Private Sub setColumn(ByVal TNumber As Integer, ByVal CNumber As Integer, ByVal CWidth As Integer, ByVal CName As String, ByVal ColumnType As System.Type) Dim dgColumnStyle As New DataGridTextBoxColumn Select Case TNumber Case 1 dataTable1.Columns.Add(CName, ColumnType) Case 2 dataTable2.Columns.Add(CName, ColumnType) Case 3 : End Select dgColumnStyle.MappingName = CName dgColumnStyle.HeaderText = CName dgColumnStyle.Width = CWidth dgTableStyle.GridColumnStyles.Add(dgColumnStyle) End Sub イメージ: Dim dataTable() As dataTable = dataSet.Tables.Add Private Sub setColumn(ByVal TNumber As Integer, ... dataTable(TNumber).Columns.Add(CName, ColumnType) : End Sub | ||||||||
|
投稿日時: 2004-06-11 13:40
???どうしてDataSet.Tables(index As Integer)でアクセスしないの???
| ||||||||
|
投稿日時: 2004-06-11 14:11
Jittaさん、ありがとうございます。 DataTableCollection の使い方で、なんか勘違いしてたようです。 #dataSet.Tables.Add("Grid1") も、あくまで変数で設定しようとしてたし。。(汗 おかげさまですんなり解決できました。 |
1