0

DataGridView を使用したアプリケーションがあります。列の 1 つは Combobox 型です。このコンボボックスの項目をプログラムで追加したい。そのために使用するコードは次のとおりです。

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 に答える