设置GridView单选

/// <summary>

/// 设置GridView单选

/// </summary>

/// <param name="view"></param>

/// <param name="selectCaption"></param>

public static void SetGridViewSingleSelect(DevExpress.XtraGrid.Views.Grid.GridView view,string selectCaption="选择")

{

if (view == null) return;

//设置显示复选框列

view.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect;

view.OptionsSelection.MultiSelect = true;

view.OptionsSelection.CheckBoxSelectorColumnWidth = 45;

view.OptionsSelection.ShowCheckBoxSelectorInColumnHeader = DevExpress.Utils.DefaultBoolean.False;//列标题不显示CheckBox,控制不能全选

//

var selectCol=view.VisibleColumns[0];

if(selectCol.FieldName== "DX$CheckboxSelectorColumn")

{

selectCol.Caption = selectCaption;

}

view.SelectionChanged += onSelectChanged;

void onSelectChanged(object sender , DevExpress.Data.SelectionChangedEventArgs e)

{

//注销事件,防止以下操作反复触发该事件

view.SelectionChanged -= onSelectChanged;

//清除所有选择

view.ClearSelection();

if (e.Action == CollectionChangeAction.Add)//选中

{

view.SelectRow(e.ControllerRow);

}

else if (e.Action == CollectionChangeAction.Remove)//取消选中

{

view.UnselectRow(e.ControllerRow);

}

view.SelectionChanged += onSelectChanged;

}

}

相关推荐
z200509304 小时前
C++中位图和布隆过滤器的一些面试题
开发语言·c++
Bat U4 小时前
JavaEE|文件操作和IO
java·开发语言
脉动数据行情4 小时前
Python 实现融通金行情数据对接(实时推送 + K 线 + 产品列表)
开发语言·python
skywalk81635 小时前
Trae生成的中文编程语言关键字(如“定“、“函“、“印“等)需要和标识符之间用 空格 隔开,以确保正确识别
服务器·开发语言·编程
红色的小鳄鱼5 小时前
前端面试js手写
开发语言·前端·javascript
海盗12345 小时前
C#中的IEqualityComparer<T>使用
开发语言·c#
江公望5 小时前
Qt QSharedPointer用法,10分钟讲清楚
开发语言·qt
月落归舟6 小时前
深入理解Java适配器模式,彻底搞懂设计思想
java·开发语言·适配器模式
Mr_pyx6 小时前
【LeetHOT100】二叉树的中序遍历——Java多解法详解
java·开发语言·深度优先