想把数据库中的数据依次填入上面的DataGridView中,现在DataGridViewTextBoxColumn类型的列上的单元格填值没有问题,但是DataGridViewComboBoxColumn类型的列上的单元格填值时会报错如下:
由于我不仅仅是要用这个DataGridView显示数据,还要能让用户在显示的数据后面添加新的行,新的记录,所以前四列我想保持使用DataGridViewComboBoxColumn类型,求大神们帮帮忙,其实我就是想知道要怎么才能给DataGridViewComboBoxColumn类型的列上的单元格的value赋值
PS:我自己用的代码如下:
DataSet ds_e_p = DBHelper.Query(sqlstr_e_p);
if (ds_e_p.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds_e_p.Tables[0].Rows.Count; i++)
{
this.dataGridView1.Rows.Add();
for (int j = 0; j < 4; j++)
{
if (ds_e_p.Tables[0].Rows[i][j] != null)
{
MessageBox.Show(ds_e_p.Tables[0].Rows[i][j].ToString().Trim());
this.dataGridView1.Rows[i].Cells[j].Value = ds_e_p.Tables[0].Rows[i][j].ToString().Trim();
MessageBox.Show(this.dataGridView1.Rows[i].Cells[j].ToString());/*先弹出对话框:DataGridViewComboBoxCell值无效;再弹出对话框:DataGridViewComboBoxCell{ColumnIndex=0,RowIndex=0}*/
}
}
for (int j = 4; j < ds_e_p.Tables[0].Columns.Count; j++)
{
if (ds_e_p.Tables[0].Rows[i][j] != null)
{
MessageBox.Show(ds_e_p.Tables[0].Rows[i][j].ToString().Trim());
this.dataGridView1.Rows[i].Cells[j].Value = ds_e_p.Tables[0].Rows[i][j].ToString().Trim();
MessageBox.Show(this.dataGridView1.Rows[i].Cells[j].ToString());
}
}
}
}