我正在创建一个表单生成器,它可以创建多个选项卡,并且每个选项卡上都会放置一个链接到数据集数组中数据集的DataGridView:
For Each table As DataTable In datasetInput(i).Tables
If arr_tables(i)(j).Equals(table.TableName) Then
tablename = table.TableName
Dim grid As New DataGridView
grid.DataSource = table
grid.Name = j
grid.Location = place
grid.Size = New System.Drawing.Size(734, 150)
TabPage.TabPages(i).Controls.Add(grid)
End If
Next
请注意,此循环嵌套在另一个循环中,该循环处理表单上的每个选项卡。 arr_tables是一个锯齿状数组,它处理我想要的数据集中的哪些表,因为我不想将每个数据表拉入DGV。
现在我需要做的是格式化名称列中的任何单元格" Equation"。对于" Equation"中的所有单元格。专栏我想成为一个带有几个不同选项的下拉单元格。其次,我该如何处理单元格点击事件?说任何属于列名称的单元格"输入"我想提供一个MessageBox。
如果在循环中没有创建DataGridViews,通常我会做这些事情没有问题。但是因为他们在代码中迷失了,我不知道如何引用它们。
谢谢!
答案 0 :(得分:1)
试试这个:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
For Each table As DataTable In datasetInput(i).Tables
If arr_tables(i)(j).Equals(table.TableName) Then
tablename = table.TableName
Dim grid As New DataGridView
grid.DataSource = table
grid.Name = j
grid.Location = place
grid.Size = New System.Drawing.Size(734, 150)
TabPage.TabPages(i).Controls.Add(grid)
AddHandler grid.SelectionChanged, AddressOf grid_SelectionChanged
End If
Next
End Sub
Private Sub grid_SelectionChanged(sender As Object, e As EventArgs)
' your code
End Sub