尋找在代碼創建的另一個選項卡上引用數據網格視圖。如何引用位於不同選項卡上的控件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