C# Winform DataGridView的列顺序,在运行时/数据源绑定后被改变的问题

如题:
C# Winform  DataGridView的列顺序,在运行时/数据源绑定后被改变的问题,这个问题对于需要控制列顺序的人来说,如果找不到原因,你就会发现一直都控制不了列的顺序。

当然,你可能也有事件处理程序或者其它代码编程导致主动改变了列顺序,甚至你可能设置了独特的样式和主题导致的,但这种不是我们考虑的范围。

我们要讲的是针对数据绑定影响了列的顺序的这个原因,没有人为去控制列顺序的程序下,数据源绑定后列就自动被改变了。

这个问题的处理,需要用到列的DisplayIndex属性,该属性可以设定顺序。


分隔一下,你以为设置了DisplayIndex属性,DataGridView的列,就会乖乖的听你的话顺序排列了?!
不,很多人发现数据源绑定后还是变了,那是因为DisplayIndex的代码位置没有放在正确的位置。

                    DataGridView.Columns["IdColumn"].DisplayIndex = 0;                      //ID
                    DataGridView.Columns["RowNumColumn"].DisplayIndex = 1;                  //序号
                    DataGridView.Columns["RecordTypeColumn"].DisplayIndex = 2;              //类型
                    DataGridView.Columns["SummaryColumn"].DisplayIndex = 3;                 //描述
                    DataGridView.Columns["DataColumn"].DisplayIndex = 4;                    //传输数据
                    DataGridView.Columns["HandleStatusColumn"].DisplayIndex = 5;            //处理结果
                    DataGridView.Columns["ErrorMessageColumn"].DisplayIndex = 6;            //错误信息
                    DataGridView.Columns["DurationColumn"].DisplayIndex = 7;                //请求耗时
                    DataGridView.Columns["CreationTimeColumn"].DisplayIndex = 8;            //创建时间
                    DataGridView.Columns["ReceiveDataColumn"].DisplayIndex = 9;             //ReceiveData
                    DataGridView.Columns["StartTimeColumn"].DisplayIndex = 10;              //StartTime
                    DataGridView.Columns["EndTimeColumn"].DisplayIndex = 11;                //EndTime

比如上面的控制列顺序的代码,你想放哪里?放在OnLoad(EventArgs e)中? 那你就不会有效果,问题解决不了。

                    DataGridView.DataSource = records;#region 列顺序排序DataGridView.Columns["IdColumn"].DisplayIndex = 0;                      //IDDataGridView.Columns["RowNumColumn"].DisplayIndex = 1;                  //序号DataGridView.Columns["RecordTypeColumn"].DisplayIndex = 2;              //类型DataGridView.Columns["SummaryColumn"].DisplayIndex = 3;                 //描述DataGridView.Columns["DataColumn"].DisplayIndex = 4;                    //传输数据DataGridView.Columns["HandleStatusColumn"].DisplayIndex = 5;            //处理结果DataGridView.Columns["ErrorMessageColumn"].DisplayIndex = 6;            //错误信息DataGridView.Columns["DurationColumn"].DisplayIndex = 7;                //请求耗时DataGridView.Columns["CreationTimeColumn"].DisplayIndex = 8;            //创建时间DataGridView.Columns["ReceiveDataColumn"].DisplayIndex = 9;             //ReceiveDataDataGridView.Columns["StartTimeColumn"].DisplayIndex = 10;              //StartTimeDataGridView.Columns["EndTimeColumn"].DisplayIndex = 11;                //EndTime#endregion

上面的DisplayIndex顺序控制列表,要放在DataGridView.DataSource = datasource;之后,才能解决掉列顺序错乱的问题。

祝您用餐愉快。

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

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

相关文章

Day91:API攻防-接口安全SOAPOpenAPIRESTful分类特征导入项目联动检测

目录 API分类特征-SOAP&OpenAPI&RESTful API分类特征 API常见漏洞 API检测流程 API检测项目-Postman&APIKit&XRAY 工具自动化-SOAP - WSDL Postman 联动burpxray APIKit插件(可联动xray) 工具自动化-OpenApi - Swagger Postman 联动burpxray APIKit…

【可实战】测试体系与测试方案设计(业务按公司实际情况,技术可参考通用测试方案)

一、如果我们要测试一个系统,首先我们要了解被测系统的架构 (一)业务架构-从需求里面去了解(角色和行为): 业务模型分析(是一个电商,还是一个企业的crm,还是一个网站&a…

科技驱动未来,提升AI算力,GPU扩展正当时

要说这两年最火的科技是什么?我想“AI人工智能”肯定是最有资格上榜的,尤其ChatGPT推出后迅速在社交媒体上走红,短短5天,注册用户数就超过100万,2023年一月末,ChatGPT的月活用户更是突破1亿,成为…

Visual Components:3D工厂仿真软件 | 离散物流、机器人编程与PLC调试

在数字化浪潮席卷全球制造业的今天,一款强大的3D工厂仿真软件已经成为企业提升生产效率、优化流程设计的关键工具。而Visual Components,正是这场变革中的领军者。本文将带您深入探索这款软件的核心功能与优势,揭示其如何在离散物流、机器人编…

python re.split()函数解析

re.split简单的使用方法: resultre.split(表达式,字符串,re.S)根据表达式拆分字符串并返回数组 如果拆分文本,比如拆分一本小说内容如下 ss第一章 第一章标题\n fadfasdfasdfadafd\n 第二章 第二章标题\n adfafdasdfasdfadsfasd\n 第三章 第三章…

每天学习一个Linux命令之chmod

每天学习一个Linux命令之chmod 在Linux系统下,chmod命令用于改变文件或目录的权限。通过分配不同的权限,我们可以控制用户对文件或目录的访问、读取、写入和执行的权限。本篇博客将详细介绍chmod命令的使用方法和常用选项。 命令语法 chmod命令的一般…

uniapp --- 实现图片压缩(兼容H5)

目录 创建组件 在 template 中添加组件 方法说明: compress() 方法参数: progress 方法回调对象属性详细说明: 源码示例: thank Canvas 是 HTML5 提供的一个用于在网页上绘制图形的元素,它可以实现图片压缩的功…

介绍与部署 Zabbix 监控系统

目录 前言 一、监控系统 1、主流的监控系统 2、监控系统功能 二、Zabbix 监控系统概述 1、Zabbix 概念 2、Zabbix 主要特点 3、Zabbix 主要功能 4、Zabbix 监控对象 5、Zabbix 主要程序 6、Zabbix 监控模式 7、Zabbix 运行机制 8、Zabbix 监控原理 9、Zabbix 主…

mybatis批量查询List实体类

在 MyBatis 中进行批量查询 List 实体类的操作通常使用 foreach 标签来实现。下面是一个示例代码,展示了如何在 MyBatis 中批量查询 List 实体类: 根据主键id 假设有一个名为 User 的实体类: public class User {private Long id;private …

Python3中的模块

模块:创建的py文件 包:创建文件夹,文件夹中放很多的py文件 在一个py文件里调用另外一个py文件里的函数,例子 # 这个文件是主文件,app.py 文件# 调用其他自定义的模块 # 导入非嵌套层级的模块 import exampledef run(…

Git回滚操作,工作区和暂存区恢复修改删除的文件

在利用git协作过程中,经常需要进行代码的撤销操作,这个行为可能发生在工作区,暂存区或者仓库区(或版本库)。 我们先讨论在工作区与暂存区发生的撤销行为,这里会有两个命令提供帮助,git restore…

Day 15 Linux网络管理

IP解析 IP地址组成:IP地址由4部分数字组成,每部分数字对应于8位二进制数字,各部分之间用小数点分开,这是点分2进制。如果换算为10进制我们称为点分10进制。 每个ip地址由两部分组成网络地址(NetID)和主机地址(HostID).网络地址表…

Spring-Aop源码解析(中)

Spring-Aop源码解析(上)上文讲解了到底什么是Aop,以及围绕方法该如何去找对应的增强点,包括整个Advisor链路的执行顺序,本文来对上文中存在的一些关键点进行一个深入挖掘 Advice:要增强的逻辑,就是我们执行…

养猫必看!毛发护理秘籍,猫粮选择大揭秘!

亲爱的猫友们,我们都知道,猫咪的毛发是它们健康与美丽的象征。选择一款合适的猫粮,对于猫咪的毛发健康至关重要。那么,如何根据猫咪的毛发情况来选择合适的猫粮呢?接下来,就让我来为你详细解答吧&#xff0…

PDF文档电子签名怎么做?

如何确保电子文档的签署具有公信力和法律效力,防止伪造和假冒签名等问题,是电子文档无纸化应用面临的重要挑战。本文将详细介绍PDF文档电子签名的概念、重要性、实施步骤以及相关的法律背景,帮助用户理解并有效应用PDF文档电子签名技术。 1.…

Unity HDRP 2021 Release-Notes

🌈Unity HDRP 2021 Release-Notes 本文信息收集来自自动搜集工具👈 版本更新内容2021.3.33HDRP: Added additional documentation for cached shadows of directional lights.2021.3.33HDRP: Added in which space custom velocity should be computed.…

lv_micropython for ESP32-S2/S3/C3

一、更新文件 lv_binding_micropython:GitHub - kdschlosser/lv_binding_micropython at esp32-s-c-h_support 下载lv_binding_micropython分支: git clone -b esp32-s-c-h_support https://github.com/kdschlosser/lv_binding_micropython.git 替换文件&#x…

如何高效解决电商API中的订单问题?

随着电子商务的迅猛发展,订单处理成为电商企业运营中的关键环节。为了提高订单处理的效率和质量,电商API(应用程序接口)的应用逐渐受到重视。本文将深入探讨电商API在订单处理中的高效解决方案,帮助电商企业优化订单处…

安装指定版本的ant-design-vue和指定版本的@ant-design/icons-vue 图标组件包

前言: 最近在完成公司的项目时,为了兼容其他的版本,需要安装指定版本的ant-design-vue和ant-design/icons-vue 图标组件包,安装成功之后,分享如下: 安装命令: ant-design-vue: 不…

【MATLAB源码-第54期】基于白鲸优化算法(WOA)和遗传算法(GA)的栅格地图路径规划最短路径和适应度曲线对比。

操作环境: MATLAB 2022a 1、算法描述 1.白鲸优化算法(WOA): 白鲸优化算法是一种受白鲸捕食行为启发的优化算法。该算法模拟了白鲸群体捕食的策略和行为,用以寻找问题的最优解。其基本思想主要包括以下几点&#xff…