C# C DataGridView组合框以编程方式添加数据
我有一个带有DataGridView的应用程序。其中一列为Combobox类型。我想以编程方式添加此组合框的项。以下是我使用的代码:C# C DataGridView组合框以编程方式添加数据,c#,items,datagridcomboboxcolumn,C#,Items,Datagridcomboboxcolumn,我有一个带有DataGridView的应用程序。其中一列为Combobox类型。我想以编程方式添加此组合框的项。以下是我使用的代码: this.dsStatussen = this.statussenMan.getAllStatussen(); DataGridViewComboBoxColumn cd = (DataGridViewComboBoxColumn)this.dgvEenheden.Columns[3]; cd.DataSource = dsStat
this.dsStatussen = this.statussenMan.getAllStatussen();
DataGridViewComboBoxColumn cd = (DataGridViewComboBoxColumn)this.dgvEenheden.Columns[3];
cd.DataSource = dsStatussen;
cd.DisplayMember = "statussen";
cd.DataPropertyName = "sid";
cd.ValueMember = "status";
然后,当我尝试添加一行时,我得到以下错误:没有名称为status的字段。我把这个错误翻译成英语,因为我有一个荷兰语错误。
以下是我用于添加行的代码:
Eenheden eenhedenMan = new Eenheden(objEvenement.eid);
DataSet EenhedenData = eenhedenMan.getAllEenheden();
foreach (DataRow dr in EenhedenData.Tables[0].Rows)
{
dgvEenheden.Rows.Add(
dr[0].ToString(),
dr[1].ToString(),
dr[2].ToString(),
Convert.ToInt32(dr[6]),
dr[3].ToString(),
dr[4].ToString(),
dr[5].ToString()
);
}
有人能帮我找出我做错了什么吗?我找不到它。这是我第一次将DataGridView与组合框一起使用。根据我的经验,如果您通过绑定搜索将其绑定,然后设置
bindingScource.dataScource.Rows.Add(
dr[0].ToString(),
dr[1].ToString(),
dr[2].ToString(),
Convert.ToInt32(dr[6]),
dr[3].ToString(),
dr[4].ToString(),
dr[5].ToString()
);
选择正确的行?您的意思是从下拉列表中选择以查看数据网格中的行
int index = dropdown.SelectedIndex();
for(int count = 0; count < dgvEenheden.Rows.Count; count ++)
{
if (dgvEenheden.Rows[count].Cells["<enter col name here>"].Value.ToString().equals(dropdown.Items[index].Text))
{
dgvEenheden.Rows[count].Selected = true; //to select the Row
dgvEenheden.Rows[count].Cells[<Cell Number>].Selected = true; //to select the specific Cell
}
}
您的实际数据源是什么样子的?Odes它有两列statussen和status??我的数据源是一个带有一个表的数据集。该表实际上有两列:sid和statusU意味着我应该直接将数据集EEnhedEndData中的数据绑定到DataGridView?如下所示:dgvEenheden.DataSource=eenhedenda.Tables[0];当我这样做时,我得到了相同的错误:没有名为status的字段。好的,我让它工作到statussen正在绑定的部分。所以在组合框中,我看到了我想要的项目。现在我还有一个问题。在我要添加的数据行中,第6列dr[6]有一个整数值,指示应该选择的状态ID。添加行时,如何通过编程在组合框中选择正确的项?对不起,我的评论是双重的,但我不能编辑第一条。额外的一点信息:DataGridviewCombobox中的项目是文本,datarow dr[6]中的列是整数!尝试将.ToInt32dr[6]转换为.ToString