积极答复者
C# datagridview数据刷新问题

问题
-
C#
1、DataGridView绑定了数据源
2、通过DataGridView修改了数据源,且保存回去了数据库。
3、DataGridView中有一个合计列,想在修改了数据以后,合计列即是刷新为新数据。
4、我目前的方法是:保存回数据库以后,直接datasource=null--->ds.tables[].clear();重新绑定数据源。
5、造成的结果是。默认选中的单元格,或者光标位置始终在DataGridView初始位置。
5、要实现DataGridView合计的及时更新。以及回车换列,该怎么操作?
6、告知具体思路,即可!非常感谢!
hi,this is paul!
答案
-
dear 资料绑定使用BindingSource(或是DataTable),只要BindingSource更新后,DataGridView自然会同步显示,不须在使用DataSource=BindingSource.DataTable,不断的使用DataTable属性将会使DataGridView重新绑定,也就是要重新建立Column以及Row当然会看起来有闪一夏,如果你是连续绑定甚至也会无法操作DataGridView,因为重新绑定后会将鼠标移到DataGridView的0,0位置 有关合计列可参考以下:
http://www.cnblogs.com/xvqm00/archive/2009/02/17/1392282.html
秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/- 已编辑 Leo Liu - MSFTModerator 2011年1月26日 11:02 Enabled the links.
- 已建议为答案 Leo Liu - MSFTModerator 2011年1月26日 11:04
- 已标记为答案 Leo Liu - MSFTModerator 2011年1月27日 11:36
-
不绑定数据,自己填充datagridview,自己控制如何保存,更新。可能复杂,但更灵活
回车换列
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
'处理整个表单的焦点移动,包括datagridview1
Select Case keyData
Case Keys.Enter
SendKeys.Send("{TAB}")
'返回True代表已处理。
Return True
End Select
End Function
http://feiyun0112.cnblogs.com/- 已建议为答案 Leo Liu - MSFTModerator 2011年1月26日 11:06
- 已标记为答案 Leo Liu - MSFTModerator 2011年1月27日 11:36
全部回复
-
dear 资料绑定使用BindingSource(或是DataTable),只要BindingSource更新后,DataGridView自然会同步显示,不须在使用DataSource=BindingSource.DataTable,不断的使用DataTable属性将会使DataGridView重新绑定,也就是要重新建立Column以及Row当然会看起来有闪一夏,如果你是连续绑定甚至也会无法操作DataGridView,因为重新绑定后会将鼠标移到DataGridView的0,0位置 有关合计列可参考以下:
http://www.cnblogs.com/xvqm00/archive/2009/02/17/1392282.html
秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/- 已编辑 Leo Liu - MSFTModerator 2011年1月26日 11:02 Enabled the links.
- 已建议为答案 Leo Liu - MSFTModerator 2011年1月26日 11:04
- 已标记为答案 Leo Liu - MSFTModerator 2011年1月27日 11:36
-
不绑定数据,自己填充datagridview,自己控制如何保存,更新。可能复杂,但更灵活
回车换列
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
'处理整个表单的焦点移动,包括datagridview1
Select Case keyData
Case Keys.Enter
SendKeys.Send("{TAB}")
'返回True代表已处理。
Return True
End Select
End Function
http://feiyun0112.cnblogs.com/- 已建议为答案 Leo Liu - MSFTModerator 2011年1月26日 11:06
- 已标记为答案 Leo Liu - MSFTModerator 2011年1月27日 11:36