[WinForm每日一帖] UltraGrid中增删改功能推荐做法

来源:互联网 发布:2015年度金融数据统计 编辑:程序博客网 时间:2024/04/29 12:06
  
       [第八篇 UltraGrid中实现增删改功能]
       首先:此类的Maintain动作可能有两种情形,一种是Grid中本来就有数据,一种是Grid中没有任何数据。两种虽说没有多大区别,但是在方法应用上稍有些不同,下面会提到。
1. 拖放一个Grid到Form,设置其属性为可编辑
2. 添加绑定列,OK后选择第一个选项(产生DataSource)
如下将Grid的数据源关联到UltraDataSource上
3. 代码增加一个全局的List<User>用于记录当前绑定的List
(在面向对象开发中,前台获取的数据大多是从后台传回的IList类型,定义这个List也是出于这个用意)
初始无数据
private List<User> m_UserList = new List<User>();
初始有数据
private List<User> m_UserList = XXXProxy.GetUserList();
4. Find按钮动作如下(绑定数据到Grid上)
5. 关联DataSource和IList,使Grid呈现List中的资料
此处是通过Index实现的,通过Index和DataSource之间建立一个Mapping关系,
这样做的好处是不需要手工写IList到DataSource转换的代码,而是借用DataSource事件触发数据的Load。
对于小数据量,性能上到没有多少变化,对于大数据量,打开虚拟模式开关的话(下一帖会讲到),这样做将有很大的性能提升
如果需要将显示的数据做格式化或显示User的对象属性的子属性等,也可以在这个事件中处理,较灵活
6. 那么如何同步User的更改到IList呢 ?(注意以下几个事件是直接更新到List中的对象上的,性能上:分解了惯用做法(循环DataSource转换对象赋值到List)的时间
DataSource提供了几个事件,如下,新增一行,删除一行
更新一行,其中如果有栏位的联动,也可以在CellDataUpdating事件中进行
7. 如上完成了在Grid上进行增删改动作的实现
原创粉丝点击