设置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;

}

}

相关推荐
小菜鸡桃蛋狗22 分钟前
C++——类和对象(上)
开发语言·c++
伯恩bourne26 分钟前
Google Guava:Java 核心工具库的卓越之选
java·开发语言·guava
2401_8795034132 分钟前
C++中的观察者模式变体
开发语言·c++·算法
lsx2024061 小时前
Rust 迭代器
开发语言
阿贵---1 小时前
C++中的备忘录模式
开发语言·c++·算法
房开民1 小时前
paddle 文本检测识别模型转为onnx
开发语言·r语言·paddle
setmoon2141 小时前
C++中的观察者模式实战
开发语言·c++·算法
2403_835568471 小时前
C++代码规范化工具
开发语言·c++·算法
山上三树2 小时前
Qt Widget介绍
开发语言·qt
weixin_387534222 小时前
Ownership - Rust Hardcore Head to Toe
开发语言·后端·算法·rust