数据源更新后dataGridView不能刷新

kooomega 2012-05-11 08:23:15
点击按钮新建了一条记录到sql数据库中,但dataGridView不自动刷新,用dataGridView1.refresh()也不行。看了很多教程说要重新绑定数据源,具体怎么重新绑定呢?或者有其他什么办法?求解答
...全文
1597 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
kooomega 2012-05-13
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 的回复:]

不行啊 当控件被数据绑定时,无法以编程方式向datagridview的行集合中添加行
这句话就是说你 已经给dgv添加数据了,不能再次添加行了,
就好像人已经穿上衣服了,就没办法试穿其他的了
[/Quote]
谢谢你啊 我的问题解决了。我根据你的思路把数据源取消了绑定,添加数据后重新把datagridview填充一遍
EdsionWang 2012-05-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

引用 10 楼 的回复:

引用 9 楼 的回复:

请问重新绑定的代码要怎么写呢?


不用重新绑定,直接把添加的数据添加到界面上就可以了。。。

没看懂,添加到界面上是什么意思?我的数据更新到数据库中了,但是datagridview中不会自动刷新,必须关闭窗口重新运行才能显示
[/Quote]

就是直接在datagridview上Add一个新的row,看上去像从数据库里面提取来的一样~~ 如果能保证数据正确添加到数据库这样没问题了。
kooomega 2012-05-12
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

引用 9 楼 的回复:

请问重新绑定的代码要怎么写呢?


不用重新绑定,直接把添加的数据添加到界面上就可以了。。。
[/Quote]
没看懂,添加到界面上是什么意思?我的数据更新到数据库中了,但是datagridview中不会自动刷新,必须关闭窗口重新运行才能显示
kooomega 2012-05-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

将你第一次用datagridview显示数据的几句代码复制粘贴到按钮事件中再执行一遍
[/Quote]
如楼上所述,我没写代码= =,form_load中的代码是这样的:
// TODO: This line of code loads data into the 'studentinfoDataSet.sinfo' table. You can move, or remove it, as needed.
this.sinfoTableAdapter.Fill(this.studentinfoDataSet.sinfo);
我把这段代码剪切到button_click中居然没用,上面注释不是说可以remove吗?另外:重新绑定的代码要怎么写呢?
熙风 2012-05-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

请问重新绑定的代码要怎么写呢?
[/Quote]

不用重新绑定,直接把添加的数据添加到界面上就可以了。。。
kooomega 2012-05-12
  • 打赏
  • 举报
回复
请问重新绑定的代码要怎么写呢?
kooomega 2012-05-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 2 楼 的回复:
重新读取下表数据,再绑定下就行了。

+1
[/Quote]
我是菜鸟 datagridview是拖出来的,然后都是下一步,下一步搞出来的,没写一句代码,请问重新代码要怎么写呢?
yanele 2012-05-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
重新读取下表数据,再绑定下就行了。
[/Quote]
+1
我爱白富美 2012-05-12
  • 打赏
  • 举报
回复
将你第一次用datagridview显示数据的几句代码复制粘贴到按钮事件中再执行一遍
  • 打赏
  • 举报
回复
你怎么查询的数据?点击新建按钮之后,把查询数据的代码再执行一遍
梦世界 2012-05-12
  • 打赏
  • 举报
回复
不行啊 当控件被数据绑定时,无法以编程方式向datagridview的行集合中添加行
这句话就是说你 已经给dgv添加数据了,不能再次添加行了,
就好像人已经穿上衣服了,就没办法试穿其他的了
梦世界 2012-05-12
  • 打赏
  • 举报
回复
那就要先得到数据集,你将要绑定的内容,然后 遍历循环让 一条条的内容得到单元格的内容
然后添加datagridview里边,

dataset ds=;
for (int shu=0;shu<ds.tables[0].rows.count,shu++)
{
datagridviewrow row=new datagrideviewrow();
row.createcell(dgv);

string name=ds.tables[0].rows[shu].cells[0].value.tostring();
row.celss[0].value=name;
dgv.rows.add(row);
}
kooomega 2012-05-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

引用 12 楼 的回复:

引用 10 楼 的回复:

引用 9 楼 的回复:

请问重新绑定的代码要怎么写呢?


不用重新绑定,直接把添加的数据添加到界面上就可以了。。。

没看懂,添加到界面上是什么意思?我的数据更新到数据库中了,但是datagridview中不会自动刷新,必须关闭窗口重新运行才能显示


就是直接在datagridview上Add一个新的……
[/Quote]
不行啊 当控件被数据绑定时,无法以编程方式向datagridview的行集合中添加行
kooomega 2012-05-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

引用 12 楼 的回复:

引用 10 楼 的回复:

引用 9 楼 的回复:

请问重新绑定的代码要怎么写呢?


不用重新绑定,直接把添加的数据添加到界面上就可以了。。。

没看懂,添加到界面上是什么意思?我的数据更新到数据库中了,但是datagridview中不会自动刷新,必须关闭窗口重新运行才能显示


就是直接在datagridview上Add一个新的……
[/Quote]
不行啊 当控件被数据绑定时,无法以编程方式向datagridview的行集合中添加行
EnForGrass 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
点击按钮新建了一条记录到sql数据库中,但dataGridView不自动刷新,用dataGridView1.refresh()也不行。看了很多教程说要重新绑定数据源,具体怎么重新绑定呢?或者有其他什么办法?求解答
[/Quote]
重新绑定
DataTable dt=你数据库查询的数据
this.dataGridView1.DataSource =dt;
mizuho_2006 2012-05-11
  • 打赏
  • 举报
回复
设置DataSource 属性。
baozi103 2012-05-11
  • 打赏
  • 举报
回复
重新读取下表数据,再绑定下就行了。
大蛮 2012-05-11
  • 打赏
  • 举报
回复
this.dataGridView1.DataSource = list;

110,534

社区成员

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

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

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