不使用datasource,如何用循环给datagridview的单元格依次填值?

July_Star 2017-11-10 09:50:11

想把数据库中的数据依次填入上面的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());
}
}
}
}
...全文
94 回复 点赞 打赏 收藏 举报
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
相关推荐
发帖
C#
加入

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2017-11-10 09:50
社区公告

让您成为最强悍的C#开发者