没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:龚雪|2025-02-17 11:00:20.617|阅读 33 次
概述:本文主要介绍如何使用DevExpress WinForms Data Grid组件实现识别行操作,欢迎下载最新版组件体验!
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
DevExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!
在本教程中,您将了解到DevExpress WinForms网格视图标识其行的方式。
获取DevExpress WinForms v24.2正式版下载
DevExpress技术交流群11:749942875 欢迎一起进群讨论
数据源索引是指绑定列表中的记录,您将使用它们进行数据编辑。每个数据行都有一个惟一的索引,而组行只引用第一个可用的数据行,而服务行返回负值。
网格视图使用行句柄来标识任何类型的行,组行有连续的负索引,服务行有预定义值,数据行有正索引。
最后,可见索引按照在屏幕上显示的顺序枚举所有行,这些标识符主要用于实现行导航。
现在仔细看看何时使用每种类型的行标识符以及它们之间的区别。
如果网格显示的是普通数据,那么这三个标识符在每行中通常是相同的,它们都是以0开头的行下标。
数据排序
排序数据是查看这些标识符之间区别的一种方法,记录的顺序改变了,数据源索引也随之改变。相同的行由相同的数据源索引标识,但顺序现在不同了。另一方面,行句柄和可见索引仍然是从0开始的连续整数,并且它们在每行中相互匹配。
过滤数据
当您筛选行时,也会达到类似的效果。数据被重新加载,行结构被重新构建,可见索引和行句柄被更新以反映新的结构,而数据源索引跟随它们对应的行。
错误使用行句柄
重要的一点是,行句柄和可见索引会随着用户操作的变化而变化,创建一个简单的示例来说明这一点。DevExpress WinForms Ribbon控件中的Save Index按钮将保存当前聚焦行的句柄,为此声明一个整数savedRowHandle字段,并将网格视图的属性值分配给它。
C#
int savedRowIndex; private void barButtonSaveIndex_ItemClick(object sender, ItemClickEventArgs e) { savedRowIndex = gridView1.FocusedRowHandle; }
还有一个Change Value按钮,它的Click事件处理程序使用方法将Name列单元格设置为保存行中的空字符串。
C#
private void barButtonChangeValue_ItemClick(object sender, ItemClickEventArgs e) { gridView1.SetRowCellValue(savedRowIndex, colName, string.Empty); }
运行应用程序并首先使用Audi A6聚焦行,单击Save Index按钮,然后将焦点移开,最后单击Change Value按钮。正如预期的那样,已保存行中的单元格已被更改。
重新启动应用程序,现在首先对Name列排序,然后找到显示Audi A6的行。保存行句柄,现在是2 - 使用Save Index按钮,然后清除排序并注意行句柄是如何更改的。因此,如果您按下Change Value,保存的Audi A6行将不会更改。
使用数据源索引代替行句柄
要解决这个问题,需要修改代码,使其存储数据源索引而不是行句柄。然后,在Change Value处理程序中,将存储的索引转换为行句柄,然后才应用更改。
C#
int savedRowIndex; private void barButtonSaveIndex_ItemClick(object sender, ItemClickEventArgs e) { savedRowIndex = gridView1.GetDataSourceRowIndex(gridView1.FocusedRowHandle); } private void barButtonChangeValue_ItemClick(object sender, ItemClickEventArgs e) { int rowHandle = gridView1.GetRowHandle(savedRowIndex); gridView1.SetRowCellValue(rowHandle, colName, string.Empty); }
运行应用程序,看看代码现在是否按预期工作,即使在使用排序或过滤等数据整形操作时也是如此。
未完待续,我们下期见......
更多产品资讯及授权,欢迎“”!
慧都科技为国内众多知名企业提供一站式的DevExpress产品中文服务,负责DevExpress控件产品中国区的销售、试用、技术支持,赋能航空航天、金融、医疗等行业客户成功构建企业级应用!欢迎咨询:023-68661681,慧都科技助力企业迈向新高度!
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@dpuzeg.cn
文章转载自:慧都网本教程演示DevExpress WinForms的Banded Grid View 是如何进行用户自定义的,欢迎下载最新版组件体验!
可视化项目时间线对于有效规划和跟踪至关重要。在本篇教程中,您将学习如何使用 C# 在 Excel 中创建组合图,只需几行代码,即可自动生成动态、美观的组合图。
本文将为大家介绍DevExpress XAF将.NET Aspire集成到Blazor项目中后如何实现数据库依赖,欢迎下载最新版组件体验!
FP3 文件是使用流行的报表生成工具FastReport创建的报表。这种格式广泛用于存储可立即查看的报表数据,这些数据可以轻松共享或保存以供日后分析。但是,要打开和查看此类文件,需要一个特殊的程序——FastReport Viewer。
优秀的界面控件开发包,帮助企业构建卓越应用!
DevExpress DXperience Subscription高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!
DevExpress WinForms Subscription为Windows Forms平台创建具有影响力的业务解决方案,高性价比WinForms界面控件套包。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@dpuzeg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢