DevExpress Grid 常用功能简单封装

DevExpress的Grid加一列checkbox用来多选 DevExpress刚开始用,整理了一个在左边加一列checkbox用来多选记录的方法,分享给大家。效果如下图: 首先要在设计器中加一列select,如图:     在绑定DataTable时要加一列,否则没办法多选,代码如下:         ///         /// 在绑定的DataTable上加一列checkbox供选择多行       阅读详情

最近使用了DevExpress Grid控件,做了一下简单的封装,方便使用。

     #region 全选/全消
        public static void SelectAllOrNone(DevExpress.XtraGrid.Views.Grid.GridView gridView1, bool OpFlag)
        {
            for (int i = 0; i < gridView1.RowCount; i++)
            {
                gridView1.SetRowCellValue(i, gridView1.Columns["ck"], OpFlag);
            }
        }
        #endregion

  #region 导出Excel
        public static void ExportToExcel(DevExpress.XtraGrid.Views.Grid.GridView gridView1, string FileName)
        {
            if (XtraMessageBox.Show("您确认导出Excel?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                string fileName = InitSaveFileDialog("EXCEL文件(*.xls)|*.xls");
                if (fileName.Trim() != "")
                {
                    XlsExportOptions xlsoption = new XlsExportOptions();

                    xlsoption.ExportMode = XlsExportMode.SingleFile;

                    xlsoption.TextExportMode = TextExportMode.Text;

                    xlsoption.SheetName = FileName;

                    gridView1.ExportToXls(fileName, xlsoption);
                }

            }
        }

  #region 删行

        public static void DeleteRow(DevExpress.XtraGrid.Views.Grid.GridView gridView1)
        {
            gridView1.DeleteRow(gridView1.FocusedRowHandle);
        }
        #endregion

        #region 增行
        public static void AddRow(DevExpress.XtraGrid.Views.Grid.GridView gridView1)
        {
            gridView1.AddNewRow();
        }
        #endregion

  #region 显示行号
        public static void DisplayRowNumber(DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
        {
            if (e.Info.IsRowIndicator)
            {
                e.Info.DisplayText = Convert.ToString(e.RowHandle + 1);
            }
        }
        #endregion

        #region 主从表模式
        public static DataTable MainDetailData(DataSet dsMain, DataSet dsDetail,DataSet dsDetailDetail, string MainColumn, string DetailColumn,string DeitalMainColumn,string DetailDetailColumn)
        {
            dsMain.Tables[0].TableName = "Main";
            dsDetail.Tables[0].TableName = "Detail";
            dsDetailDetail.Tables[0].TableName = "DetailDetail";
            DataTable dtDetail = dsDetail.Tables[0];
            DataTable dtDetailDetail = dsDetailDetail.Tables[0];
            dsDetail.Tables.Remove(dtDetail);
            dsDetailDetail.Tables.Remove(dtDetailDetail);
            dsMain.Tables.Add(dtDetail);
            dsMain.Tables.Add(dtDetailDetail);
            DataColumn colMain = dsMain.Tables["Main"].Columns[MainColumn];
            DataColumn colDetail = dsMain.Tables["Detail"].Columns[DetailColumn];
            DataColumn colDetailMain = dsMain.Tables["Detail"].Columns[DeitalMainColumn];
            DataColumn colDetailDetail = dsMain.Tables["DetailDetail"].Columns[DetailDetailColumn];
            dsMain.Relations.Add("Detail", colMain, colDetail, false);
            dsMain.Relations.Add("DetailDetail", colDetailMain, colDetailDetail, false);
            return dsMain.Tables[0];
        }
        #endregion

  #region 初始化grid 属性
        public static void initGridView(DevExpress.XtraGrid.Views.Grid.GridView gridView1, bool ColumnAutoWidthFlag=true)
        {
            gridView1.IndicatorWidth = 40;
            if (ColumnAutoWidthFlag)
            {
                gridView1.OptionsView.ColumnAutoWidth = true;
                gridView1.BestFitColumns();
            }
            else
            {
                gridView1.OptionsView.ColumnAutoWidth = false;
                gridView1.BestFitColumns();
            }
            gridView1.OptionsView.ShowGroupPanel = false;
            //gridView1.OptionsBehavior.Editable = false;  
            //gridView1.Columns["UserName"].Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left;
        }
        #endregion

 

C#中关于DevExpress的常用操作和帮助类项目工程内容说明 该示例工程主要实现的功能为①对表格的常用操作【如加载数据、可修改标题头(或指定行、列)背景、颜色、名称、也可以任意修改表格内容、获取指定列等内容】;②实现对实体数据进行操作【如将实体类转为DataTable、将DataTable转为实体、复制DataTale、给DataTable添加字段、添加列、添加行等内容】。③实现创建线性图表(如单线、双线图表、可放大缩小、导出图表);④对表格实现复合表头设计(可以设计多个表头、固定表格列、修改表头名称、背景颜色、设置宽度、自适应等);... 阅读详情

相关推荐

devexpress 11.2.11 完全封装 完美版

经历了几个版本,总算有时间整理下这个东西了,很不错的,菜单及系统常用的功能已经封装进去,10分让你绝对划算。下载下来,只要电脑上了VS和devexpress 11.2.11 即可。

ExpressGridPack一套 VCL组件

ExpressGridPack一套 VCL 组件   ExpressGridPack 是一套 VCL 组件,其中包括 ExpressQuantumGrid Suite - 用于添加网格、树列表和数据编辑器功能,ExpressPrinting System - 允许 Delphi 和 C++Builder 开发人员将他们的 UI 带到打印页面。ExpressLayout Control - 表单布局自定义控件允许您轻松排列控件并使其随容器自动调整大小。ExpressSkins 库 - 应用程序范围的皮肤库,

q2315702359的博客 241

DevExpress large image(customize size) Ribbon control

DevExpress的Ribbon控件的图标缺省只有两个尺寸,16X16和32X32。想要更大的图标时, 就需要自己想办法了。恰好找到一个封装好的控件,留在这里做个备份,有需要的朋友自己下吧。

dev控件调用html页面,DevExpress使用教程:常用Winform界面封装

我们在开发Winform程序的时候,需要经常性的对界面的一些控件进行初始化,或者经常简单的封装,以方便我们在界面设计过程中反复使用。本文主要介绍在我的一些项目中常用的界面处理操作和代码,以便为大家开发的时候提供必要的参考。1、选择用户的控件封装操作在一些系统模块里面,我们需要选择系统人员作为经办人员的操作,如下面几个界面场景所示。我们注意到,一般在我们选择的时候,界面会弹出一个新的层给我们选择,里...

weixin_39827506的博客 1378

DevExpress ImagePicker(图标选择器)封装的源代码和使用Demo

该资源为DevExpress 的(Image Picker)图标选择器的源代码及使用demo;由于自带的图标选择器无法在运行时调用,为此改写了自带的图标选择器,保持原有功能的同时更加完善操作(最大的亮点是可以提供自定义的图标载入,其中利用ImageCollection组件用于绑定图标集和批量导入文件夹图标),并且封装成dll的方式引用,方便程序运行状态下模拟编译器创建控件时候更好的选择图标,节省开发时间。

C# DevExpress SearchLookUpEdit 多选功能封装代码

网上参照过别人的SearchLookUpEdit 多选,但是代码不全,零零散散,经过2个星期代码编写,测试,整理出了SearchLookUpEdit 多选功能实现的代码. 过程不易.代码量虽然只有200多行,但是经过几个版本的优化,性能完美. 望参与的同仁有更好的优化方法可以贴出来交流.

devexpress中grid控件示例,打造全网最全教程

devexpress中最强大的控件之一就是Grid,不管你做什么软件,它都能实现想要的功能。今天这篇就是关于Grid控件的详细教程,比如:分页、多栏目类型、父子表、Layout视图、表达式等,力图打造全网最全的此控件教程。废话不多说,直接开始正题。

小Q的博客 433

【Qt】Window环境下搭建Qt6、MSVC2022开发环境(无需提前安装Visual Studio)

本文介绍 Windows 环境下无需安装 Visual Studio,搭建 Qt6 与 MSVC2022 开发环境的方法,以节省磁盘空间。核心步骤包括:用中科大镜像提速 Qt6 在线安装,需勾选 Qt Creator 17.0.1、MSVC 2022 x64 等组件;配置环境变量,添加 mingw_64、msvc2022_64 及 Qt Creator 的二进制目录;安装 MSVC 2022 编译器与 Windows 10 SDK 并记录版本;配置 Qt Creator 构建套件,可选设置 vcvarsal

油炸自行车的博客 2940

DevExpress中gridview多单元格的复制、黏贴和撤销

本实例主要实现在同一 GridView 中实现多单元格的复制、黏贴和撤销 实现如下功能: 首先设置 gridView2.OptionsBehavior.Editable = false; gridView2.OptionsSelection.MultiSelect = true; 代码如下:         ///         /// 对用户

shuaishifu的专栏 1万+

自监督学习与上下文赌博机融合:视觉决策中的协同优化与实战指南

在机器学习领域,自监督学习(Self-Supervised Learning)通过设计前置任务从无标注数据中学习通用表征,已成为解决标注数据稀缺问题的关键技术。其核心原理是利用数据自身的结构生成监督信号,训练编码器提取鲁棒特征。上下文赌博机(Contextual Bandits)作为强化学习的简化分支,专注于在给定上下文信息下做出单步最优决策,平衡探索与利用,广泛应用于推荐系统、广告投放等场景。将两者结合,构建端到端的协同训练框架,能让视觉表征的优化直接服务于最终的决策目标,同时利用自监督任务作为正则化项提

weixin_33721344的博客 522

大模型辅助意图识别,更懂你的客户洞察平台

通过大量的学习和训练,大模型不仅具备庞大的知识库,更掌握着丰富的语言模式和语义规则,能够精准地理解每一段对话的含义,为每一通对话进行全面、准确的标注。主要来自客户的行为信息,将客户与机构的重要时刻以时间轴的方式呈现出来,掌握客户生命周期的完整脉络,识别一些容易被忽略的重要营销MOT(Moment Of Truth,关键时刻研究)机会,提示理财经理跟进处理。将客户的历史交易数据和埋点系统采集的客户行为数据结合起来,辅以部分内容资讯的偏好探测,综合分析和预测客户在各个维度的喜好程度,实现千人千面的客户推送。

Dezhuzhineng的博客 2162

DevExpress WinForms中文教程 - 如何在Grid控件中集成语义相似性搜索?

本文将介绍如何使用DevExpress WinForms组件在网格控件中集成语义相似性搜索(通过嵌入模型提供支持),欢迎下载最新版组件体验!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 1413

Cosmos Transfer2.5多模态AI模型部署与优化实战

多模态AI技术通过融合文本、图像、代码等不同模态数据,实现跨模态理解与生成。其核心原理基于Transformer架构的注意力机制,结合对比学习实现模态对齐。这类技术在智能内容创作、跨模态搜索等领域具有重要价值,尤其适合电商营销图文生成、UI设计转代码等场景。Cosmos Transfer2.5作为先进的多模态模型,支持8192 tokens长文本窗口和混合模态输入,实测推理速度达17.5 samples/s(T4显卡)。部署时需注意FlashAttention优化可提升3倍长文本处理效率,8-bit量化则能

weixin_29038303的博客 283

DevExpress WinForms中文教程:Data Grid - 如何完成数据输入验证?

本文主要为大家介绍如何用DevExpress WinForms中热门的数据网格组件完成数据输入的验证,欢迎下载最新版体验~

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 1473

CentOS7下OpenVPN Access Server 2.12.0安装与智能分流配置指南

本文详细介绍了在CentOS7系统上安装OpenVPN Access Server 2.12.0并进行智能分流配置的完整指南。从环境准备、核心安装到智能分流策略的深度配置,提供了经过验证的优化方案和故障排查技巧,帮助用户实现高效的VPN网关部署和流量管理。

weixin_30546189的博客 292

【用unity实现100个游戏之19】制作一个3D传送门游戏,实现类似鬼打墙,迷宫,镜子,任意门效果(附项目源码)

本文介绍了Unity中实现传送门效果的完整流程。通过第一人称角色控制器实现移动,使用PortalView脚本和自定义Unlit Shader渲染门内场景,巧妙利用相机位置和旋转同步实现动态视角。重点解决了近裁剪面问题,确保远距离渲染正确性。最后通过PortalTeleporter脚本实现传送功能,检测碰撞并计算相对位置进行瞬移。该方法无需复杂插件,代码简洁高效,适用于各类3D场景中的传送门实现。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1万+

DevExpress WinForms中文教程:Data Grid - 如何设置条件格式?

本文主要为大家介绍如何用DevExpress WinForms中热门的数据网格组件完成条件格式设置,欢迎下载最新版体验~

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 1418

RK3399平台开发系列讲解(外设篇)交换芯片RTL8306M

网络:交换芯片RTL8306M 电路: make menuconfig 配置: 目录:arch/arm64/configs/rk3399_b201_defconfig CONFIG_FIXED_PHY=y 设备树: arch/arm64/boot/dts/rockchip/rk3399-b201-rev1.dts 时钟: Open之后首先校验网卡mac地址是否正确(stmmac_chec...

内核笔记 2394

DevExpress Grid使用checkBox选中的方法

DevExpress Grid使用checkBox选中的方法 </h2> <div class="postbody"> 到官网得到消息自13.2版本后的Dev Grid中均内置了CheckBox列多选功能。在寻找答案的过程的成果进行记录。 一、13.2版本以后用法 启用多选列 对Gird中的View进...

qq_18932003的博客 1000

Codex 接入自定义大模型终极教程:插件解锁、会话管理、国产模型一键搞定

🚀 Codex 默认只能使用 OpenAI 官方模型?这篇文章带你从零接入 DeepSeek、通义千问、GLM 等国产大模型,并彻底解锁插件、会话删除、多模型切换等隐藏功能。配置原理、常见坑点、傻瓜式增强工具分享,小白也能轻松上手!🔥

XiaoqiangClub的博客 3158

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

界面控件DevExpress WinForms中文教程:Banded Grid View - 基础知识

本教程提供DevExpress WinForms带状和高级带状网格视图的基本信息,欢迎下载最新版组件体验!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 922

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

界面组件DevExpress WPF Data Grid哪些功能还能增强?一起来看

在本文中将介绍DevExpress WPF Data Grid组件即将在v22.2中增强的一些功能,欢迎持续关注我们获取第一手产品资讯!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 347

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

DevExpress WinForms Pivot Grid组件,一个类似Excel的数据透视表控件(一)

本文将为大家介绍如何使用DevExpress WinForms 的Pivot Grid(透视网格)组件,欢迎下载最新版组件体验!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 1419

界面控件DevExpress WPF中文教程:Data Grid - 绑定数据

本文主要介绍DevExpress WPF Grid控件如何进行绑定数据操作,欢迎下载最新版组件体验!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 1083

界面控件DevExpress Blazor Grid v23.2 - 支持全新的单元格编辑模式

本文将为大家介绍DevExpress Blazor Grid组件在v23.2版本中支持的单元格编辑新模式,欢迎下载最新版体验!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 1267

DevExpress WinForms中文教程:Data Grid - 如何在代码中处理列?

本文主要介绍如何在分配数据源时启用或禁用自动列生成等,欢迎下载最新版组件体验!

需要界面开发、IDE工具研发中文教程资料的小伙伴,记得私信我~ 1391
上一篇: sqlserver 行列转换适用一定格式报表的统计
下一篇: c# 调用API获取企业微信数据
RunCodeAjax
博客等级 码龄6年 2粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值