DataGridView插入行问题???

zyq85325 2009-09-21 09:55:12
我的DataGridView是与一个数据源绑定的,用代码插入行时
DataGridView.Rows.Add(DataGridView.CurrentRow.Index+1);
运行时报错:当控件被数据绑定时,无法以编程方式向DataGridView的行集合中添加行。
请高手指点一下,应该如何完成插入行的操作~~~
...全文
358 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
surlew 2009-09-21
  • 打赏
  • 举报
回复
1.如果你的datagridview是绑定的数据源的话是不能插入行的,但是可以在数据源里面插入然后重新绑定!
2.你可以不用绑定数据源的方式来将数据放到datagridview上面,你可以一行一行将数据自己加到datagridview上去,这样你就可以用你上面的方法插行了!
Cherishny 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zyq85325 的回复:]
引用 4 楼 denverzhang 的回复:
我还有其他修改、删除的操作,我想一次性更新到数据库,因为数据量太大,直接操作数据库很浪费资源。
将数据临时的保存到数据源中有一个问题,就是显示的时候插入的那行数据是在最下面的,而我希望新插入的行是在我指定行的下面
[/Quote]
指定位置就是指定行索引
插入 在数据源指定索引处 添加一行,然后在DataGridView中设置当前行为指定 的索引行

zyq85325 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 denverzhang 的回复:]
看你是要一次性更新 还是逐条更新咯
如果是一次性  那么  就将信息保存到临时的数据源中  最后提交再用事务的方式存放进数据库
如果是逐条 那么就添加一条  保存到数据库一条 然后再重新获取数据库中的数据源  绑定到gridview里显示
[/Quote]
我还有其他修改、删除的操作,我想一次性更新到数据库,因为数据量太大,直接操作数据库很浪费资源。
将数据临时的保存到数据源中有一个问题,就是显示的时候插入的那行数据是在最下面的,而我希望新插入的行是在我指定行的下面
风之影子 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 zyq85325 的回复:]
我的DataGridView是与一个数据源绑定的,用代码插入行时
DataGridView.Rows.Add(DataGridView.CurrentRow.Index+1);
运行时报错:当控件被数据绑定时,无法以编程方式向DataGridView的行集合中添加行。
请高手指点一下,应该如何完成插入行的操作~~~
[/Quote]

两种方法
第一种:你向数据源添加一行再进行刷新,上面已经有了.
第二种:如果你是想让用户在datagridview里输入的话.那就启用添加行就行
this.dataGridView1.AllowUserToAddRows = true;

最后还是一样你得更新到数据源,再刷新.

ncjcz 2009-09-21
  • 打赏
  • 举报
回复
你是要进行编辑吗?希望通过界面增加一条记录?
DenverZhang 2009-09-21
  • 打赏
  • 举报
回复
看你是要一次性更新 还是逐条更新咯
如果是一次性 那么 就将信息保存到临时的数据源中 最后提交再用事务的方式存放进数据库
如果是逐条 那么就添加一条 保存到数据库一条 然后再重新获取数据库中的数据源 绑定到gridview里显示
Andy__Huang 2009-09-21
  • 打赏
  • 举报
回复
建议你先数据库里面加一行,然后再读取数据查询结果的返回值绑定到datagridview
Cherishny 2009-09-21
  • 打赏
  • 举报
回复
往数据源中添加一行

在刷新一下就可以了
Andy__Huang 2009-09-21
  • 打赏
  • 举报
回复
页面加了一行,数据库里面你要不要加一行呢?

建议你不要直接在页面加一行,你有数据库里面加一行,然后再读取数据查询结果的返回值

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧