寻找在代码创建的另一个选项卡上引用数据网格视图。如何引用位于不同选项卡上的控件VB.NET
我想使用当前选定选项卡中的数据网格视图的列填充组合框。现在我只能得到组合框来填充用户加载的最后一个文件,而不是选择了w/e选项卡。
Dim mstrFirstFile As String = ""
Dim mstrFileName As String = ""
Dim mdstTableInput As New DataSet
Dim mintCounter As Integer
Dim mdgvTab As DataGridView
Public Function CreateNewDGVInsideNewPageTab() As DataGridView
Dim tbpNewTab As New TabPage()
tbpNewTab.Text = mstrFileName
Dim mdgvTabControl As New DataGridView
mdgvTabControl.Dock = DockStyle.Fill
mdgvTabControl.Name = ("Grid" + ToString(mintCounter))
tbpNewTab.Controls.Add(mdgvTabControl)
tbcsource.TabPages.Add(tbpNewTab)
tbcsource.SelectedTab = tbpNewTab
Return mdgvTabControl
End Function
Private Sub generate()
Dim objCLSConverter As New DataTier.clsCSVConverter
Dim strNewXMLPath As String = ""
Dim xmlFile As XmlReader
If mstrFirstFile.Length > 1 Then
strNewXMLPath = objCLSConverter.writeXML(mstrFirstFile)
xmlFile = XmlReader.Create(strNewXMLPath, New XmlReaderSettings())
Dim dsTemp As DataSet = New DataSet
Dim dtTable As DataTable = Nothing
dsTemp.ReadXml(xmlFile)
dtTable = dsTemp.Tables(0).Copy
dtTable.TableName = mintCounter
mdstTableInput.Tables.Add(dtTable)
mdgvTab = CreateNewDGVInsideNewPageTab()
mdgvTab.DataSource = mdstTableInput.Tables(mintCounter)
mintCounter = (mintCounter + 1)
cbxColumnsUpdate()
xmlFile.Close()
End If
End Sub
任何帮助或如果你需要更多的我的代码让我知道。
该程序将用户添加并将其扔入数据集中的任何.csv或.xls文件。它将这些文件添加到一个新的代码生成的Tab中,里面有一个数据网格视图,并将文件加载到其中。
当选择一个选项卡时,组合框将填充该选项卡数据网格视图的所有列名称,您可以选择任何选项卡,并且它将重新填充该选项卡的组合框。然后,您可以从组合框中选择列名称,然后在文本框中输入您要在该列中搜索的文本框,它只是一个select where子句。
然后这些数据将被扔进下面的数据网格视图,供用户查看并导出为excel或继续更改。这是为了一般的报告目的和按摩数据。
现在问题是组合框将不会基于所选标签重新填充。
如果在设计时,应控制可在形式层面。在运行时,每个选项卡控件都包含标签页。只需引用TabPage.Controls。 – Neolisk 2013-02-26 18:26:54
有我这样的例子吗?编码不太好:P.然后试图引用该选项卡中的数据网格视图似乎有点棘手加入它们。 – Xnub 2013-02-26 18:39:04
细节很少,很难说清楚。一种选择是使用'mdgvTab.Controls(“Grid”+ ToString(mintCounter))'',但最好保留一个'ToString(mintCounter),DataGridView'的Dictionary。你需要使用字典的例子吗? – Neolisk 2013-02-26 18:57:09