日期:2014-05-17  浏览次数:20638 次

WinForm增删改如何刷新DataGridView数据
举例数据库有一张职员表,前台通过查询然后把表数据显示到DataGridView.
用户需要对DataGridView里面的某一行数据进行变更,其中的操作可能是增、删、改。
假设当用户选中某行数据并修改时,弹出窗体,然后显示datagridview选中行的相关信息在这个窗体上,
之后用户修改窗体上相关文本框的信息,保存。
数据返回到数据库进行后台更新,请问前台的datagridview有什么好方法刷新用户修改的数据吗?
如果是增加、删除又改怎么做?
求各位大神解答,谢谢!

如果只是datagridview.rows[datagridview.SelectedCells.RowIndex].Cells["columnName"].value=...  这样的方法就别说了。
WinForm 数据库 DataGridView

------解决方案--------------------
如果你用的是DataTable,可以直接绑定到DataGridView,如果用的是实体类,可以用BindingSource。绑定之后,对DataTable或BindingSource做的修改可以直接反映到DataGridView里去。
绑定的方法很简单,可以在设计器里设置DataGridView的数据源,或者以编程的方式设置DataGridView.DataSource属性。
如果使用实体类要注意一点,实体类要实现System.ComponentModel.INotifyPropertyChanged接口,然后在属性值发生改变以后引发PropertyChanged事件。当然,如果使用设计器来生成实体类,这项工作设计器已经帮你完成了。
------解决方案--------------------
如果你是拖得dgv控件来绑定datatable,回来的时候刷新重新绑定数据源。
如果用list<T>作为数据源来绑定,先定义实体作为数据源,那个时候你编辑的时候,vs会自动帮你更新相应的行信息。