c#datagridview具有不同列的不同数据源

c#datagridview具有不同列的不同数据源,c#,datasource,datagridviewcolumn,C#,Datasource,Datagridviewcolumn,我有一个datagridview,它有多个文本列和一个comboboxcolumn。我需要为comboboxcolumn的IEM指定一个数据源,为其他文本列指定另一个数据源。我尝试了下面的示例代码,但它不起作用 dgv1.DataSource = DataSet1.Tables[0]; string[] managerList = Array.ConvertAll(DataSet2.Select(), row => (string)row[0]); comboboxcolumn1.Data

我有一个datagridview,它有多个文本列和一个comboboxcolumn。我需要为comboboxcolumn的IEM指定一个数据源,为其他文本列指定另一个数据源。我尝试了下面的示例代码,但它不起作用

dgv1.DataSource = DataSet1.Tables[0];
string[] managerList = Array.ConvertAll(DataSet2.Select(), row => (string)row[0]);
comboboxcolumn1.DataSource = managerList;
managerList数组包含要填充到组合框中的条目,但它们从未显示

这样我就不能为comboboxcolumn及其父datagridview提供单独的数据源了吗


提前感谢。

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

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
您是否可以尝试将其指定为引用它作为datagridview的列

这将显示“我的组合框”中按空格分隔的文本

使用字符串数组时,无需为列指定显示成员

编辑

如果您有一个
DataTable
,您也可以用这种方式来做

(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).DataSource= datatable;
(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).DisplayMember="columnname";
(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).ValueMember="columnname";

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

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
您是否可以尝试将其指定为引用它作为datagridview的列

这将显示“我的组合框”中按空格分隔的文本

使用字符串数组时,无需为列指定显示成员

编辑

如果您有一个
DataTable
,您也可以用这种方式来做

(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).DataSource= datatable;
(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).DisplayMember="columnname";
(dataGridView1.Columns["Column1"] as DataGridViewComboBoxColumn).ValueMember="columnname";


你可以。。在分配给组合框列时,您是否尝试过使用
BindingSource
?我找不到DataGridViewComboxColumn的bindingsource属性。它不是一个属性,类似于
ComboxColumn1.DataSource=new bindingsource(managerList,null)我尝试了comboboxcolumn1.DataSource=newbindingSource(managerList,managerList[0]);它表示在数据源上找不到datamember属性“111111”。111111是managerList[0]中的字符串,因此。。那有用吗。。有什么错误吗?你可以。。在分配给组合框列时,您是否尝试过使用
BindingSource
?我找不到DataGridViewComboxColumn的bindingsource属性。它不是一个属性,类似于
ComboxColumn1.DataSource=new bindingsource(managerList,null)我尝试了comboboxcolumn1.DataSource=newbindingSource(managerList,managerList[0]);它表示在数据源上找不到datamember属性“111111”。111111是managerList[0]中的字符串,因此。。那有用吗。。有错误吗?这仍然不起作用。您是否将datagridview的数据源设置为其他类型?不提供comboboxcolumn数据的内容?是。。当前网格数据源与comboboxcolumn没有关系。。我创建了一个工作示例,其中comboboxcolumn从存储过程中的一个子集获取值。但处理2个数据集似乎是个问题。对此表示抱歉!什么是MyData(false)?在我的示例中,MyData是一种将
数据表
设置为
数据源
(一些硬编码值)的方法,它仍然不起作用。您是否将datagridview的数据源设置为其他类型?不提供comboboxcolumn数据的内容?是。。当前网格数据源与comboboxcolumn没有关系。。我创建了一个工作示例,其中comboboxcolumn从存储过程中的一个子集获取值。但处理2个数据集似乎是个问题。对此表示抱歉!什么是MyData(false)?在我的示例中,MyData是一种将
数据表
设置为
数据源
(一些硬编码值)的方法