0
我有一個函數,返回一個國家列表作爲數據表。如何將這些行值添加到組合框?如何在組合框中添加數據表項?
For Each row as DataRow in fooDataTable.Rows
combobox.Items.add(row)
Next
一些如何不填滿我的組合框上的值。該數據表返回100行。每行有2列。我正在嘗試添加第一列的所有100個數據行。任何幫助將不勝感激。
我有一個函數,返回一個國家列表作爲數據表。如何將這些行值添加到組合框?如何在組合框中添加數據表項?
For Each row as DataRow in fooDataTable.Rows
combobox.Items.add(row)
Next
一些如何不填滿我的組合框上的值。該數據表返回100行。每行有2列。我正在嘗試添加第一列的所有100個數據行。任何幫助將不勝感激。
A DataRow
是一個對象,雖然可以將對象添加到組合對象或列表框,但在這種情況下,結果不是很有用。在.Items
中存儲對象時,將顯示.ToString
函數的結果。在這種情況下,它只會顯示System.Data.Datarow
最好的解決方案是LarsTech建議的,並使用現有的數據表作爲數據源。這是經濟的,因爲沒有什麼對CBO新創建:
ComboBox.DataSource = fooDataTable
ComboBox.DisplayMember = "column name in DT"
另一種方法是修改你的循環:
combobox.Items.Add(row("col name").ToString)
這從列名到CBO添加數據。如果這是像人民的名字和你想顯示姓氏和名字:
combobox.Items.Add(String.Format("{0}, {1}", row("LastName").ToString,
row("FirstName").ToString))
這是相似,除了我們正在格式化兩列的內容,我們將它添加到CBO。
還有一種方法是爲每行創建一個類對象,該對象返回要通過ToString
覆蓋顯示的內容;並將它們添加到CBO中,但考慮到第一種替代方案的經濟性,這在這種情況下是過度的。
嘗試設置'combobox.DataSource = fooDataTable',然後設置'combobox.DisplayMember ='您的字段名稱'' – LarsTech
設置一個斷點並查看CBO之後有多少項目。它可能是**你正在添加的**。我不確定什麼'.ToString'返回一個'System.Data.Datarow' – Plutonix
它只是返回類似System.something的東西..它不是重新獲取值。 –