データテーブル内のすべてのレコードのタブコントロールにタブページとdatagridviewを追加しています。
レコードごとに新しいTab/DataGridViewが必要です(現時点では最大3つあります)。新しいDataGridViewDを宣言しています。後でこれらのコントロールを参照するにはどうすればよいですか?
datagridviewの変更をデータベースに保存するようなことをしたいと思います。現在、画面上でデータを取得でき、見栄えは良いですが、「D」をコントロールとして再利用し続けているため、DataGridViewコントロールを正しく追加していないと思います。
Dim dt As New DataTable
GetDataTable("SELECT * FROM aFeeTypes DescSeq", dt)
Dim i As Integer
'for each class in the datatable add a tab and a datagridview
For i = 0 To dt.Rows.Count - 1
Dim dr As DataRow
dr = dt.Rows(i)
Dim D = New DataGridView
D.Visible = True
Dim tp As New TabPage
tp.Name = "tp" & i
tp.Text = dr.Item("Desc2")
frmUI.tcFee.TabPages.Add(tp)
frmUI.tcFee.TabPages(i).Controls.Add(D)
dgv_Fill(D, "SELECT * FROM Fee WHERE ClassID=" & dr.Item("ClassID") & " ORDER BY Seq")
D.AutoResizeColumns()
D.Width = tp.Width
D.Height = tp.Height
Next i
これは動作しません:
With frmUI.Controls("D" & i)
.AutoResizeColumns()
.Width = tp.Width
.Height = tp.Height
End With