我有一個「填充組合框」,我很開心,我甚至開始使用更多的組合框。它通過引用組合框對象的「值集合」(或任何你想要調用它)的ID,並添加項目和它們各自的值(不同)並完成工作。填充ComboBoxDataColumn項目和值
我最近有一個在gridview中使用組合框的好主意,我很高興地注意到它的工作只是單個組合框,但同時填充給定列中的所有組合框。
ObjComboBox.Items.Add("yadayada");
//works just like
ObjComboBoxColumn.Items.Add("blablabla");
但是當我開始籌劃如何填充這些組合框我注意到:有沒有在ComboBoxDataColumn沒有「值」屬性。
ObjComboBox.Values = whateverArray;
//works, but the following doesn't
ObjComboBoxColumn.Values = whateverArray;
問題:
0 - 我如何填充它的價值? (我懷疑這只是簡單的,但使用另一個名字)
1 - 如果它像一個組合框一樣工作,那麼沒有這個屬性的解釋是什麼?
----- [編輯] ------
所以我已經簽出查爾斯的報價,我已經想通我不得不改變我填充這些糟糕的方式男孩。我不應該循環遍歷字符串並將它們逐個插入到組合框中,而應該抓取要填充到表中的字段,並將表格的一列設置爲「值」,將另一列設置爲「顯示」 。所以,我已經做到了這一點:
ObjComboBoxColumn.DataSource = DTConfig; //Double checked, guaranteed to be populated
ObjComboBoxColumn.ValueMember = "Code";
ObjComboBoxColumn.DisplayMember = "Description";
但沒有任何反應,如果我使用相同的對象像這樣:
ObjComboBoxColumn.Items.Add( 「StackOverflow上」);
它被添加。
沒有DataBind()函數。
它發現了兩列,這是保證(「代碼」和「說明」),如果我改變他們的名字爲不具有遠見者,它給了我一個例外,所以這是一個好兆頭。
----- [編輯] ------
我在SQL Server中的表,它是像
代碼|文字
-----
1 | foo
2 |酒吧
很簡單,跟其他組合框(GridView的外)我已經成功地填充通過行循環並添加文本:
ObjComboBox.Items.Add(MyDataTable.Rows[I]["MyColumnName"].ToString());
並獲得每一個值,將其添加到一個數組中,並設置它像:
ObjComboBox.Values = MyArray;
我想填充我的comboboxColumns就像我用組合框一樣。
您聽起來並不討厭。我計算出,有8萬個關於c#的問題中的大約6萬是來自那些閱讀過文檔,不理解,誤解或者根本沒有讀過它的人。我是其中的一員,我已經閱讀了一些內容,但還沒有想出如何做到這一點,並在S.O.上檢查過。並沒有發現任何問題,於是我決定提出一個問題,也許其他人可以在將來找到它,但謝謝! – Marcelo 2010-05-18 20:14:57
@MarceloRamires:你可能是對的。我引用的文檔有幫助嗎?該頁面上也有一些例子。如果你仍然困惑,我可以爲你舉一個簡單的例子。 – 2010-05-18 20:45:12
我會很高興=)我已經更新了我的問題 – Marcelo 2010-05-19 19:43:29