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

  
       [ 第八篇 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上进行增删改动作的实现
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
DataGridView是Winform常用的控件之一,它可以方便的展示表格数据。下面介绍DataGridView的增删操作: 1. 增加数据 在DataGridView增加数据通常有两种方式: (1)手动添加 在DataGridView,可以通过用户输入的方式手动添加数据,只需要在DataGridView最后一行,然后用户输入数据即可。 (2)代码添加 也可以通过代码的方式添加数据,如下所示: ```csharp // 新建一行数据 DataGridViewRow row = new DataGridViewRow(); // 设置行每列的值 row.CreateCells(dataGridView1); row.Cells[0].Value = "001"; row.Cells[1].Value = "张三"; row.Cells[2].Value = "男"; row.Cells[3].Value = "18"; // 将新建的行数据添加到DataGridView dataGridView1.Rows.Add(row); ``` 2. 修数据 DataGridView数据的方式一般是通过编辑模式,即双击需要修的单元格进入编辑模式。在编辑模式下,用户可以修单元格的数据。当用户修完数据后,可以通过以下代码保存修后的数据: ```csharp // 结束单元格编辑,保存修后的数据 dataGridView1.EndEdit(); // 保存数据到数据源 DataTable dt = (DataTable)dataGridView1.DataSource; DataRow[] rows = dt.Select("ID='001'"); rows[0]["Name"] = "李四"; rows[0]["Age"] = "20"; ``` 上述代码,我们通过EndEdit()方法结束单元格编辑,然后通过修数据源的数据实现修数据的功能。 3. 删除数据 DataGridView删除数据一般有两种方式: (1)手动删除 在DataGridView,可以通过选需要删除的行或单元格,然后点击Delete键或者Backspace键来删除数据。 (2)代码删除 也可以通过代码的方式删除数据,如下所示: ```csharp // 获取选的行 DataGridViewSelectedRowCollection selectedRows = dataGridView1.SelectedRows; // 遍历选的行并删除 foreach (DataGridViewRow row in selectedRows) { dataGridView1.Rows.Remove(row); } ``` 上述代码,我们通过SelectedRows属性获取选的行,然后通过Remove()方法删除选的行。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值