Basically yes, but not completely.
In general there are two ways to add new rows to the grid:
#1 Add new rows to the datasource
If the datasource supports the IBindinglist interface, as System.Data.DataTable or System.ComponentModel.BindingList does, the the grid will automatically updated, otherwise the GridView.LayoutChanged method has to be called to update the grid.
#2 Add new rows to the grid
This can be done by calling the GridView.AddNewRow. But in only works for datasources that supports the IBindingList interface, this is because the IBindingList.AddNew method is called in this case.
Please have a look into sample project I created for you.
DevExpress XtraGrid控件功能非常强大,支持的数据源类型也特别多,在采用ORM方案的项目中,我们很多时候都没有通过 DataTable来作为界面层的数据源,而是采用对象数组或实现了IEnumerable接口的数据对象,例如:ArrayList、 ILIST<T>等。这些类型简单方便,也是很多开源系统中常见的实现方式。XtraGrid控件对这类数据源也提供了支持,查询、修改和删除都可以,唯一不能实现的就是增加记录并刷新表格。
但是我们不想因为增加一条记录,还要重新刷新整个数据源,那该怎么办?
DevExpress公司给出了一种实现方式:
程序代码 程序代码
ArrayList data = new ArrayList();
gridControl1.DataSource = data;
...
data.Add(myObject);
gridControl1.MainView.LayoutChanged();
当然,也提到了为数据对象实现IBindingList,但是这些方式我觉得并不是很方便。
我认为最理想的方式就是利用BindingList<T>来进行包装,因为这样就可以象DataTable一样了,感觉比较统一,也不用改变数据对象:
程序代码 程序代码
IList<SystemAccount> list = new List<SystemAccount>();
...
BindingList<SystemAccount> bindingList = new BindingList<SystemAccount>(list);
list.AddingNew += new AddingNewEventHandler(AccountList_AddingNew);
gridControl1.DataSource = bindingList;
//////////
AddNewRow在dataView.rowFilter以后会失去效果
private void gridView1_ShownEditor(object sender, System.EventArgs e) {
if(gridView1.FocusedRowHandle ==
DevExpress.XtraGrid.GridControl.NewItemRowHandle && gridView1.ActiveEditor
!= null)
gridView1.ActiveEditor.IsModified = true;
}
分享到:
相关推荐
对于开发者来说,它是了解新版本特性、解决兼容性问题的关键参考资料。 4. read_me.txt:这个文本文件可能包含了额外的说明、警告或快速启动指南。开发者在开始使用源代码之前应该先阅读此文件,以确保正确理解和...
这份资料对于C#开发者来说是非常有价值的资源,它不仅提供了基础的API使用教程,还可能包含了许多实践经验和技巧,帮助开发者在项目开发中节省时间,提高效率。通过深入学习和实践,开发者可以充分利用Devexpress...
DevExpress.XtraGrid.Design.XAppearances xapp = new DevExpress.XtraGrid.Design.XAppearances(System.Environment.GetFolderPath(System.Environment.SpecialFolder.System) + "\\DevExpress.XtraGrid....
需要加载的资料少。对于数据库开发者很适合。 用法: DevExpress.XtraGrid.Localization.GridResLocalizer.Active = New DevExpress.LocalizationCHS.DxperienceXtraGridLocalizationCHS DevExpress.XtraEditors....
在国内DEV拥有大量的用户,资料比较完善,交流方便。 【适用范围】:各种桌面、Web应用程序开发,尤其是Winfrom应用程序开发。 •EvDMS文档在线浏览方案-企业级文档在线转换及浏览方案,多格式文档转换、高清...
在国内DEV拥有大量的用户,资料比较完善,交流方便。 【适用范围】:各种桌面、Web应用程序开发,尤其是Winfrom应用程序开发。 •EvDMS文档在线浏览方案-企业级文档在线转换及浏览方案,多格式文档转换、高清...
在国内DEV拥有大量的用户,资料比较完善,交流方便。 【适用范围】:各种桌面、Web应用程序开发,尤其是Winfrom应用程序开发。 •EvDMS文档在线浏览方案-企业级文档在线转换及浏览方案,多格式文档转换、高清...
在国内DEV拥有大量的用户,资料比较完善,交流方便。 【适用范围】:各种桌面、Web应用程序开发,尤其是Winfrom应用程序开发。 •EvDMS文档在线浏览方案-企业级文档在线转换及浏览方案,多格式文档转换、高清...
在国内DEV拥有大量的用户,资料比较完善,交流方便。 【适用范围】:各种桌面、Web应用程序开发,尤其是Winfrom应用程序开发。 •EvDMS文档在线浏览方案-企业级文档在线转换及浏览方案,多格式文档转换、高清...
在国内DEV拥有大量的用户,资料比较完善,交流方便。 【适用范围】:各种桌面、Web应用程序开发,尤其是Winfrom应用程序开发。 •EvDMS文档在线浏览方案-企业级文档在线转换及浏览方案,多格式文档转换、高清...
在国内DEV拥有大量的用户,资料比较完善,交流方便。 【适用范围】:各种桌面、Web应用程序开发,尤其是Winfrom应用程序开发。 •EvDMS文档在线浏览方案-企业级文档在线转换及浏览方案,多格式文档转换、高清...
在国内DEV拥有大量的用户,资料比较完善,交流方便。 【适用范围】:各种桌面、Web应用程序开发,尤其是Winfrom应用程序开发。 •EvDMS文档在线浏览方案-企业级文档在线转换及浏览方案,多格式文档转换、高清...
在国内DEV拥有大量的用户,资料比较完善,交流方便。 【适用范围】:各种桌面、Web应用程序开发,尤其是Winfrom应用程序开发。 •EvDMS文档在线浏览方案-企业级文档在线转换及浏览方案,多格式文档转换、高清...
在国内DEV拥有大量的用户,资料比较完善,交流方便。 【适用范围】:各种桌面、Web应用程序开发,尤其是Winfrom应用程序开发。 •EvDMS文档在线浏览方案-企业级文档在线转换及浏览方案,多格式文档转换、高清...
在国内DEV拥有大量的用户,资料比较完善,交流方便。 【适用范围】:各种桌面、Web应用程序开发,尤其是Winfrom应用程序开发。 •EvDMS文档在线浏览方案-企业级文档在线转换及浏览方案,多格式文档转换、高清...
在国内DEV拥有大量的用户,资料比较完善,交流方便。 【适用范围】:各种桌面、Web应用程序开发,尤其是Winfrom应用程序开发。 •EvDMS文档在线浏览方案-企业级文档在线转换及浏览方案,多格式文档转换、高清...
在国内DEV拥有大量的用户,资料比较完善,交流方便,慧都控件网 更为广大用户量身定制了:DevExpress汉化资源和Devexpress高级培训,以及金牌技术支持,帮助用户快速掌握DEV,打造成功软件。 【适用范围】:各种...
在国内DEV拥有大量的用户,资料比较完善,交流方便,慧都控件网 更为广大用户量身定制了:DevExpress汉化资源和Devexpress高级培训,以及金牌技术支持,帮助用户快速掌握DEV,打造成功软件。 【适用范围】:各种...
在国内DEV拥有大量的用户,资料比较完善,交流方便,慧都控件网 更为广大用户量身定制了:DevExpress汉化资源和Devexpress高级培训,以及金牌技术支持,帮助用户快速掌握DEV,打造成功软件。 【适用范围】:各种...
在国内DEV拥有大量的用户,资料比较完善,交流方便,慧都控件网 更为广大用户量身定制了:DevExpress汉化资源和Devexpress高级培训,以及金牌技术支持,帮助用户快速掌握DEV,打造成功软件。 【适用范围】:各种...