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

}

}

相关推荐
Bat U12 小时前
JavaEE|多线程(五)
java·开发语言·jvm
玉小格12 小时前
对py作业的一个复盘
开发语言·python
Rust研习社12 小时前
使用 Tonic 构建高性能异步 gRPC 服务
开发语言·网络·后端·http·rust
captain37613 小时前
JDBC(Java Data Base Connectivity)
java·开发语言
南境十里·墨染春水13 小时前
C++笔记 STL——vector
开发语言·c++·笔记
故事和你9113 小时前
洛谷-算法2-2-常见优化技巧3
开发语言·数据结构·c++·算法·深度优先·动态规划·图论
foundbug99913 小时前
MATLAB时频分析工具箱:基于FRFT的信号检测与参数估计
开发语言·matlab
DevilSeagull13 小时前
Rust 方法语法:从定义到实践
开发语言·后端·rust
charlie11451419113 小时前
通用GUI编程技术——图形渲染实战(三十七)——D3D11初始化与SwapChain:从零搭建GPU渲染框架
开发语言·c++·3d·图形渲染
陈天伟教授13 小时前
GPT Image 2-城市海报
开发语言·人工智能·gpt·神经网络