1

我有一个 datagridview,它有多个文本列和一个组合框列。我需要为组合框列的 iem 指定一个数据源,并为其他文本列指定另一个数据源。我已经尝试了以下示例代码,但它不起作用。

dgv1.DataSource = DataSet1.Tables[0];
string[] managerList = Array.ConvertAll(DataSet2.Select(), row => (string)row[0]);
comboboxcolumn1.DataSource = managerList;

managerList 数组包含要填充到组合框中的条目,但它们永远不会出现。

是不是这样我就不能为组合框列及其父数据网格视图提供单独的数据源?

提前致谢。

4

1 回答 1

1

我已经检查了以下代码,它工作正常

string[] arr = "This Should Get Displayed".Split(); //managerList in your case           
dataGridView1.DataSource = MyData(false);
(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).DataSource = new BindingSource(arr, null); // Bind to the column of grid

您可以尝试将其分配为引用它作为数据网格视图的列吗?

这将在我的组合框中显示在空间上拆分的文本。

当您使用字符串数组时,无需为列指定DisplayValue成员

编辑

如果你有,DataTable你也可以用这种方式做

(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).DataSource= datatable;
(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).DisplayMember="columnname";
(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).ValueMember="columnname";
于 2011-05-10T06:35:03.840 回答