0

我有一个带有 DataGridView 的应用程序。其中一列是组合框类型。我想以编程方式为此组合框添加项目。这是我使用的代码:

this.dsStatussen = this.statussenMan.getAllStatussen();
        DataGridViewComboBoxColumn cd = (DataGridViewComboBoxColumn)this.dgvEenheden.Columns[3];
        cd.DataSource = dsStatussen;
        cd.DisplayMember = "statussen";
        cd.DataPropertyName = "sid";
        cd.ValueMember = "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。

4

2 回答 2

1

根据我的经验,我发现如果你通过绑定源将它绑定起来,一切似乎都会更好,然后设置

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() 
                                ); 
于 2011-09-07T15:16:06.390 回答
0

选择正确的行?您的意思是从下拉列表中选择以查看数据网格中的行?

 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

}
}
于 2011-09-12T12:12:40.067 回答