我設立一個DataGridViewComboBoxColumn
這樣的:如何在每個單元格中使用不同的DataSource設置DataGridView ComboBoxColumn?
var newColumn = new DataGridViewComboBoxColumn() {
Name = "abc"
};
newColumn.DataSource = new string[] { "a", "b", "c" };
dgv.Columns.Add(newColumn);
此作品:每行有在該列下拉框,填入A,B,C。
但是,現在我想修剪某些行的列表。我想設置每行的列表如下:
foreach (DataGridViewRow row in dgv.Rows) {
var cell = (DataGridViewComboBoxCell)(row.Cells["abc"]);
cell.DataSource = new string[] { "a", "c" };
}
然而,這個代碼沒有任何影響 - 每行仍顯示「A」,「B」,「C」。
我試過用new List<string>
和new BindingList<string>
替代new string[]
,都無濟於事。
我也嘗試刪除代碼,設置newColumn.DataSource
,但然後列表是空的。
我應該如何正確地做到這一點?
嗯,這也適用於我 - 在一個乾淨的測試項目。它必須是我做不同的事情.. – Blorgbeard 2009-07-07 22:38:51
好吧,問題是與我的DataGridView AutoSizeColumnMode設置爲AllCells的事實。我認爲它是在數據源設置之前驗證單元格的值(或其他)。 – Blorgbeard 2009-07-07 23:49:59