千金不卖

探讨 RS BO C# Oracle Sql Server DB2 DataWareHouse Arcplan Cognos MB MQ 信息资源标准 主数据 元数据 数据质量 业务建模 ----姚刚

博客园 首页 新随笔 联系 订阅 管理
[第八篇 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上进行增删改动作的实现
posted on 2008-05-05 19:08  doc  阅读(2794)  评论(5编辑  收藏  举报