DEV Gridcontrol 多选

作者:jiankunking 出处:http://blog.csdn.net/jiankunking

1、点击Run Desginer按钮,如下图:

2、单击列按钮,如下图:

3、点击新增列按钮:

4、找到ColumnEdit属性:

5、选择CheckEdit类型:

6、设置选中状态的值、未选中状态的值是(此处选择的是“1”未选中状态,“0”为非选中状态,注意这里类型要选择string):

7、同时要将ValueUnchecked的值设置上。

同时要将ValueUnchecked的值设置上。
设置一下两个属性(第二个貌似不设置也可以):
  gridView1 .OptionsSelection.MultiSelect = true;
  gridView1 .OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect;

小注:


  错误案例一:
 对于gridcontrol的操作,今天遇到了一个问题,按多选框设置的一步一步来的,却出现了一个现象就是,单击多选框后,其值未发生改变。
最后发现原因是:自己谢了一个分页函数,自己绑定在gridcontrol是,分页函数中的dt,而弹出的dr["CHECKED"].ToString()却是查询语句执行后返回的ds。分页函数返回的dt是从ds从分离出来的,故操作dt对应于ds中的dr["CHECKED"]并未发生改变。
    ==》要注意绑定数据,与自己操作数据的一致性。

8、如果,按照以上步骤设置完成后,单击选择框没有反应,你需要检查一下你是否把Editable设置为了false,如下图:

 

 

 

DevExpress的GridControl中,可以通过以下步骤实现多选后右键弹出小菜单: 1. 在GridControl的设计器中,找到PopupMenu属性,点击其右边的省略号(...)按钮,打开PopupMenu编辑器。 2. 在PopupMenu编辑器中,点击Add按钮,添加一个新的PopupMenu。 3. 在新的PopupMenu中添加一个菜单项(比如"删除"),并设置Click事件处理方法。在该方法中,可以编写删除选中行或单元格的代码。 4. 在GridControl的事件MouseDown中,判断鼠标右键是否按下,如果是,则弹出PopupMenu。在该事件中,可以使用GridControl的GetSelectedRows方法获取选中行的索引,从而实现对选中行或单元格的操作。 以下是示例代码: ``` // 定义PopupMenu和菜单项 private DevExpress.XtraBars.PopupMenu popupMenu1; private DevExpress.XtraBars.BarButtonItem barButtonItem1; // 初始化PopupMenu和菜单项 private void InitPopupMenu() { // 创建PopupMenu popupMenu1 = new DevExpress.XtraBars.PopupMenu(); // 创建菜单项 barButtonItem1 = new DevExpress.XtraBars.BarButtonItem(); barButtonItem1.Caption = "删除"; barButtonItem1.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(barButtonItem1_ItemClick); // 将菜单项添加到PopupMenu中 popupMenu1.AddItem(barButtonItem1); } // 处理菜单项的Click事件 private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { int[] selectedRows = gridView1.GetSelectedRows(); if (selectedRows.Length > 0) { gridView1.DeleteSelectedRows(); } } // 在GridControl的MouseDown事件中显示PopupMenu private void gridControl1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { int[] selectedRows = gridView1.GetSelectedRows(); if (selectedRows.Length > 0) { popupMenu1.ShowPopup(gridControl1.PointToScreen(e.Location)); } } } ``` 在以上示例代码中,我们首先定义了一个PopupMenu和一个菜单项,并在InitPopupMenu方法中初始化它们。在barButtonItem1_ItemClick方法中处理菜单项的Click事件,实现对选中行或单元格的删除操作。在gridControl1_MouseDown方法中判断鼠标右键是否按下,并使用GetSelectedRows方法获取选中行的索引,如果选中行不为空,则显示PopupMenu。用户右键单击GridControl后,就可以看到一个删除菜单,点击该菜单后,选中的行或单元格将被删除。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值