【C#】GridControl增加选择列(不用二次点击)

news2024/11/16 22:43:31

系列文章

【C#】单号生成器(编号规则、固定字符、流水号、产生业务单号)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/129129787

【C#】日期范围生成器(开始日期、结束日期)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/129040663

【C#】组件化开发,调用dll组件方法
本文链接:https://blog.csdn.net/youcheng_ge/article/details/129492112

【C#】数据实体类使用
本文链接:https://blog.csdn.net/youcheng_ge/article/details/128816638

【C#】单据审批流方案
本文链接:https://blog.csdn.net/youcheng_ge/article/details/128972545

【C#】二维码标签制作及打印
本文链接:https://blog.csdn.net/youcheng_ge/article/details/126884228

【C#】最全单据打印源码(设计打印模板、条形码&二维码、标签、字体)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/129415723

【C#】条码管理操作手册
本文链接:https://blog.csdn.net/youcheng_ge/article/details/126589496

【C#】IIS平台下,WebAPI发布及异常处理
本文链接:https://blog.csdn.net/youcheng_ge/article/details/126539836

【C#】【提高编程效率】代码模板生成工具
本文链接:https://blog.csdn.net/youcheng_ge/article/details/126890673

【C#】【提高编程效率】Excel数据批量导入数据库
本文链接:https://blog.csdn.net/youcheng_ge/article/details/126427323

【C#】Windows服务(Service)安装及启停方案
本文链接:https://blog.csdn.net/youcheng_ge/article/details/124053794

【C#】穿透Session隔离,服务调用外部程序(无窗体界面解决)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/124053033

【C#】任务计划实现,使用Quartz类
本文链接:https://blog.csdn.net/youcheng_ge/article/details/123667723

【C#】《周计划管理关于产前准备模块》解决方案20200203
本文链接:https://blog.csdn.net/youcheng_ge/article/details/122919543

【C#】源码解析正则表达式
本文链接:https://blog.csdn.net/youcheng_ge/article/details/118337074

【C#】软件版本和文件MD5记录(XML操作)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/112513871

【C#】测试网络是否连通
本文链接:https://blog.csdn.net/youcheng_ge/article/details/110137288

【C#】根据名称获取编码(Dictionary获取key方法)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/129816701

【C#】数据建模,你是使用DataTable还是List?
本文链接:https://blog.csdn.net/youcheng_ge/article/details/129792726

【C#】GridControl控件和List数据集双向绑定
本文链接:https://blog.csdn.net/youcheng_ge/article/details/129423755

【C#】GridControl动态更换DataSource,数据查询异常处理
本文链接:https://blog.csdn.net/youcheng_ge/article/details/130305424


文章目录

  • 系列文章
  • 前言
  • 一、问题描述
  • 二、解决方案
    • 2.1 采用数据源绑定形式
    • 2.2 采用自带复选框列
  • 三、软件开发(源码)
    • 3.1 采用数据源绑定形式
      • 3.1.1 定义DataTable
      • 3.1.2 添加列
      • 3.1.3 设置选择列的值
      • 3.1.4 全选
      • 3.1.5 取消全选
    • 3.2 采用自带复选框列
      • 3.2.1 GridControl设置属性(源码方式)
      • 3.2.2 GridControl设置属性(设计方式)
      • 3.2.3 全选
      • 3.2.4 取消全选
  • 四、项目展示
    • 4.1 采用数据源绑定形式
    • 4.2 采用自带复选框列
  • 五、资源链接


前言

我能抽象出整个世界,但是我不能抽象你。 想让你成为私有常量,这样外部函数就无法访问你。 又想让你成为全局常量,这样在我的整个生命周期都可以调用你。 可惜世上没有这样的常量,我也无法定义你,因为你在我心中是那么的具体。

哈喽大家好,本专栏为【项目实战】专栏,有别于【底层库】专栏,我们可以发现增加 了『问题描述』、『项目展示』章节,十分符合项目开发流程,让读者更加清楚项目解决的问题、以及产品能够达到的效果。本专栏收纳项目开发过程的解决方案,是我项目开发相对成熟、可靠方法的提炼,我将这些问题的解决思路梳理,撰写本文分享给大家,大家遇到类似问题,可按本文方案处理。

本专栏会持续更新,不断完善,专栏文章关联性较弱(文章之间依赖性较弱,没有阅读顺序)。大家有任何问题,可以私信我。如果您对本专栏感兴趣,欢迎关注吧,我将带你用最简洁的代码,实现复杂的功能。

·提示:本专栏为项目实战篇,未接触项目开发的同学可能理解困难,不推荐阅读。
3A0N000001


一、问题描述

我们已经确定了大致的方向,与业务部门沟通,进一步确定标签需要支持以下目标:
①公司存在保密要求,标签不便显示产品信息,但特定人员可以看懂。
②编号要可以人工复核,双重保障,防止识别不出可以人工干预。

二、解决方案

2.1 采用数据源绑定形式

数据源(DataTable、List)增加“选择”列,绑定 DataSource(),自动出来。

2.2 采用自带复选框列

设置MultiSelectMode为CheckBoxRowSelect,自动出现选择列。

三、软件开发(源码)

3.1 采用数据源绑定形式

3.1.1 定义DataTable

   //物料查询表
   DataTable Dt_MaterialSearch;
   Dt_MaterialSearch = new DataTable();
   Dt_MaterialSearch.Columns.Add("选择", typeof(System.String));
   Dt_MaterialSearch.Columns.Add("公司编号", typeof(System.String));
   Dt_MaterialSearch.Columns.Add("采购订单编号", typeof(System.String));
   Dt_MaterialSearch.Columns.Add("供应商编号", typeof(System.String));
   Dt_MaterialSearch.Columns.Add("存货编码", typeof(System.String));
   Dt_MaterialSearch.Columns.Add("编号", typeof(System.String));
   Dt_MaterialSearch.Columns.Add("状态描述", typeof(System.String));
   Dt_MaterialSearch.Columns.Add("规格", typeof(System.String));
   Dt_MaterialSearch.Columns.Add("直径", typeof(System.Decimal));
   Dt_MaterialSearch.Columns.Add("重量", typeof(System.Decimal));
   Dt_MaterialSearch.Columns.Add("打标时间", typeof(System.DateTime));
   Dt_MaterialSearch.Columns.Add("打标备注", typeof(System.String));

3.1.2 添加列

在这里插入图片描述

3.1.3 设置选择列的值

定义成了string类型,DataTable为“T”,勾选;为“F”,不勾选。
在这里插入图片描述

3.1.4 全选

  //函数内容:菜单,全选
  //函数版本: 0.0.0.1
  //修改时间: 2023.03.03
  //============================================================================================
  //注意事项
  //  1.  
  //  2.  
  //============================================================================================
  private void Mi_SelectAll_Click(object sender, EventArgs e)
  {
      for (int i = 0; i < Dt_MaterialSearch.Rows.Count; i++)
      {
          Dt_MaterialSearch.Rows[i]["选择"] = "T";
      }
      Dt_MaterialSearch.AcceptChanges();
      GridView_Material.CloseEditor();
      GridView_Material.PostEditor();
  }

3.1.5 取消全选

  //函数内容:菜单,取消全选
  //函数版本: 0.0.0.1
  //修改时间: 2023.03.03
  //============================================================================================
  //注意事项
  //  1.  
  //  2.  
  //============================================================================================
  private void Mi_SelectUnAll_Click(object sender, EventArgs e)
  {
      for (int i = 0; i < Dt_MaterialSearch.Rows.Count; i++)
      {
          Dt_MaterialSearch.Rows[i]["选择"] = "F";
      }
      Dt_MaterialSearch.AcceptChanges();
      GridView_Material.PostEditor();
  }

3.2 采用自带复选框列

3.2.1 GridControl设置属性(源码方式)

窗体加载事件,添加如下代码:

    GridView_Material.OptionsBehavior.ReadOnly = true;
    GridView_Material.OptionsView.ShowGroupPanel = true;
    GridView_Material.OptionsSelection.MultiSelect = true;
    GridView_Material.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect;
    GridView_Material.OptionsSelection.ShowCheckBoxSelectorInGroupRow = DefaultBoolean.True;
    GridView_Material.OptionsSelection.ShowCheckBoxSelectorInColumnHeader = DefaultBoolean.False;
    GridView_Material.OptionsSelection.UseIndicatorForSelection = true;
    GridControl_Material.AllowRestoreSelectionAndFocusedRow = DefaultBoolean.True;

3.2.2 GridControl设置属性(设计方式)

也可以采用设计工具,配置:
在这里插入图片描述

3.2.3 全选

   //函数内容:菜单,全选
   //函数版本: 0.0.0.1
   //修改时间: 2023.03.03
   //============================================================================================
   //注意事项
   //  1.  
   //  2.  
   //============================================================================================
   private void Mi_SelectAll_Click(object sender, EventArgs e)
   {
       GridView_Material.SelectAll();
   }

3.2.4 取消全选

   //函数内容:菜单,取消全选
   //函数版本: 0.0.0.1
   //修改时间: 2023.03.03
   //============================================================================================
   //注意事项
   //  1.  
   //  2.  
   //============================================================================================
   private void Mi_SelectUnAll_Click(object sender, EventArgs e)
   {
       GridView_Material.ClearSelection();
   }

四、项目展示

4.1 采用数据源绑定形式

在这里插入图片描述
在这里插入图片描述
应该是底层的问题,非GridView未PostEditor(),如下代码,我均已试过。

   GridView_Material.CloseEditor();
   Dt_MaterialSearch.AcceptChanges();
   GridView_Material.PostEditor();

在这里插入图片描述

4.2 采用自带复选框列

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

五、资源链接

暂无

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/544156.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【FMC156】基于VITA57.1标准的2路2.5GSPS采样率16位分辨率直流耦合DA播放FMC子卡模块(DAC38J82)

产品概述 FMC156 是一款基于VITA57.1 标准规范&#xff0c;实现2 路2.5GSPS 采样率16 位分辨率直流耦合DAC 播放子卡模块。该模块遵循VITA57.1 标准&#xff0c;可直接与FPGA 载卡配合使用&#xff0c;板卡DAC 器件采用TI 公司的DAC38J82 芯片&#xff0c;该芯片提供4 个模拟输…

2023,有哪些适合网工跳槽的好公司?(不是BAT)

大家好啊&#xff0c;我的网工朋友 都说行业内卷&#xff0c;卷的不成人形&#xff0c;这内卷&#xff0c;一卷就卷了好几年。 很多网工同行都讨厌被卷来卷去&#xff0c;但是看到同行进了大厂&#xff0c;免不了还是要羡慕嫉妒恨一波。 作为主编几年&#xff0c;我就发现了…

注册ChatGPT时提示Oops! The email you provided is not supported

问题描述 今天本想出一个ChatGPT的注册与使用的教程&#xff0c;结果上来吃了个闭门羹。之前我通过微软账号登录验证是没有问题的&#xff0c;但这次想使用另一个微软账号&#xff0c;结果提示Oops! The email you provided is not supported&#xff08;您提供的电子邮件不支…

C# 给winfrom窗体添加皮肤控件

如何快速给C# winform添加好看的皮肤C# Winform中窗体的美化 SkinEngine的应用 皮肤控件换肤素材包&#xff0c;IrisSkin2.dll皮肤素材资源下载 压缩包内一共有22种皮肤素材&#xff0c;使用说明&#xff1a;把控件拖到你的form上&#xff0c;只需一行代码&#xff0c;即可实…

Ubuntu安装时没注册root用户密码,怎么登录root

一、Ubuntu设置root密码: 1.桌面空白处右键菜单 点击“打开终端“。 2.输入命令 "sudo passwd root

Cinema 4d 和 3ds Max:哪个软件更好?

3D 设计有很多挑战。设计师通常需要克服他们的看法和偏见&#xff0c;此外还要学习一些深入的程序来有效地使用 3D 风格的软件系统。市场上有很多用于3D设计的软件&#xff0c;因此对于哪一种对您的需求最有效会令人困惑。如果您不熟悉3D&#xff0c;或者您正在四处寻找新的软件…

数据进行分组后同一字段字符串连接方法

数据源如下&#xff1a;期望将同一个id_supplier_basic_info输出的supplier_type写在一行上&#xff0c;可以按‘/’分隔 一开始的时候使用的是但是一直提示找不到这个函数&#xff0c;一时陷入迷惑&#xff0c;难道是mysql不支持这个函数&#xff1f;但是百度明明都说mysql是支…

Mss32.dll丢失怎么办?怎么修复Mss32.dll文件

Mss32.dll丢失怎么办&#xff1f;如果你打开游戏或者应用程序时出现了如下错误提示&#xff1a;“找不到Mss32.dll”&#xff0c;那么你就需要解决这个问题。 Mss32.dll是一个动态链接库文件&#xff0c;它通常用于多媒体应用程序和游戏中的音频功能。如果该文件丢失或损坏&…

谷歌seo怎么做?2023做好谷歌seo的7个关键点

谷歌seo怎么做&#xff1f; 谷歌搜索引擎优化&#xff08;SEO&#xff09;是一系列的技术和策略&#xff0c;旨在通过改进网站结构、内容和其他因素&#xff0c;提高网站在搜索引擎结果页面&#xff08;SERP&#xff09;中的排名和可见性。以下是一些常用的谷歌SEO技术和策略&…

C语言——指针初阶

哈喽&#xff0c;大家好&#xff0c;今天我们来学习C语言中的指针&#xff0c;今天主要学习初阶指针&#xff0c;后期我们将继续学习指针进阶。 目录 1. 指针是什么 2. 指针和指针类型 2.1 指针-整数 2.2 指针的解引用 3. 野指针 3.1 野指针成因 3.2 如何规避野指针 4.…

苹果浏览器safari打不开网页怎么办?参考方法在这!

案例&#xff1a;为啥苹果自带的浏览器打不开网页&#xff1f;输入名称或者网址&#xff0c;打开的网页都是空白的。 【不知道怎么回事&#xff0c;我在safari浏览器里面输入网址&#xff0c;但是打不开正确的网页&#xff0c;一直打开的是空白网页。】 当您使用苹果自带的浏览…

构件连接器

构件连接器 1.构件连接器是什么 构件之间传递信息的器件称为构件连接器&#xff0c;简称为连接器。connector。 构件连接器就是在构件之间进行信息传递的通道&#xff0c;可以通过该通道实现信息由一个构件的端口传递 给另一个构件的端口或者是接口。 2.常见的连接器关系 委…

Python-PyEcharts绘制柱状图

更多优秀文章&#xff0c;请关注个人微信公众号&#xff1a; 程序猿小杨 Python-PyEcharts绘制柱状图 一、简介 核心创建流程&#xff1a; 1.通过Bar()构建一个柱状图对象 2.和折线图一样&#xff0c;通过add xaxis()和add_yaxis()添加x和y轴数据 3.通过柱状图对象的&#x…

Talk预告 | 香港中文大学博士生徐英豪:从不规则的单目图片数据构建3D生成模型

本期为TechBeat人工智能社区第498期线上Talk&#xff01; 北京时间5月18日(周四)20:00&#xff0c;香港中文大学博士生 — 徐英豪的Talk将准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “从不规则的单目图片数据构建3D生成模型”&#xff0c;届时将介绍…

ipa怎么装到苹果手机

下面介绍ipa怎么装到苹果手机&#xff1f; 方法/步骤 进入手机上的设置&#xff0c;如下图所示&#xff1a; 在设置页面中&#xff0c;点击进入通用&#xff0c;如下图所示&#xff1a; 进入通用页面后&#xff0c;点击页面上的描述文件&#xff0c;如下图所示&#xff1a; …

软件测试基础知识整理(五)- 软件开发模型、测试过程模型

目录 一、软件开发模型 1.1 瀑布模型 1.1.1 特点 1.1.2 优缺点 1.2 快速原型模型&#xff08;了解&#xff09; 1.2.1 特点 1.2.2 优缺点 1.3 螺旋模型&#xff08;了解&#xff09; 1.3.1 特点 1.3.2 优缺点 二、测试过程模型 2.1 V模型&#xff08;重点&#xff…

chatgpt赋能Python-python3_6_4怎么用

Python3.6.4简介 Python3.6.4是Python编程语言的一个版本&#xff0c;于2017年12月19日发布。这个版本是Python3系列的一个重要更新版本&#xff0c;包含许多新的特性、改进以及Bug修复。 Python3.6.4有一个众所周知的特点&#xff1a;它是一个不断发展的语言&#xff0c;因此…

springcloud再次学习

对应版本关系&#xff0c;如果不对应可能会报错 在启动类配置&#xff0c;也可以在配置类配置 远程调用使用RestTemplate Eureka配置 步骤 Docker部署Eureka 先创建一个文件将打好的jar包文件去&#xff0c;再写一个Dockerfile文件 负载均衡 &#xff08;LoadBalanced&#xf…

【密码产品篇】动态口令系统密钥体系结构(SM3、SM4)

【密码产品篇】动态口令系统密钥体系结构&#xff08;SM3、SM4&#xff09; 动态口令是一种一次性口令机制&#xff0c;用户无须记忆口令&#xff0c;也无须手工更改口令。口令通过用户持有的客户端器件生成&#xff0c;并基于一定的算法与服务端形成同步&#xff0c;从而作为…

HDMI视频标准

一、常见的显示接口 常见的显示接口有AV、VGA、DVI、HDMI。 AV接口与显示器有3个接口&#xff0c;分别为音频接口、左声道接口、右声道接口。线束太多&#xff0c;被淘汰。 VGA显示接口由于个头较大&#xff0c;不能传输音频&#xff0c;逐渐被淘汰。 DVI不能传送音频也被淘汰&…