DevExpress插件中GridView控件界面显示风格的保存与加载

本文介绍如何利用DevExpress的GridView控件保存和恢复界面显示风格,包括原始风格和用户自定义风格的保存与加载,适用于界面需要频繁调整布局的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

插件版本:

  DXperience_v9.3

应用场景:

  界面需要显示数据库某表或视图数据,字段较多,列宽为默认值,显示顺序为默认顺序。

  用户在第一次使用软件时,把数据表格的显示风格全部重新调整了一番,并希望下次打开软件时显示自己设置的风格。

  当然,我们也要考虑到用户在设置后不满意,希望恢复到原始风格。

设计思路:

  1、在窗体Load事件中,进行原始风格的保存操作;

  2、在窗体FormClosing事件中,进行当前风格的保存操作;

  3、在(右键)菜单中提供:保存风格、恢复风格的选项。

实现方法:

  关键:DevExpress.XtraGrid.Views.Grid.GridView控件提供如下两个函数:

  ①SaveLayoutToXml (string xmlFile)

  ②RestoreLayoutFromXml (string xmlFile)

  细节:

  分析可知,保存风格及恢复风格都分为2类:原始风格、自定义风格

  于是在编写函数时就要根据不同的类别进行xml文件名的区分,此处为原始风格添加了前缀“Original_”

  代码:

        /// <summary>
        /// 程序运行的根路径
        /// </summary>
        private string m_BathPath = System.Environment.CurrentDirectory;
        
        //窗体加载事件:先保存原始风格,再加载自定义风格
        private void Form1_Load(object sender, EventArgs e)
        {
            this.SaveFormStyleXML(true);//保存原始风格
            this.LoadFormStyleXML(false);//加载自定义风格
        }

        //窗体关闭前事件:保存自定义风格
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            this.SaveFormStyleXML(false);//保存自定义风格
        }
        
        //Btn保存风格
        private void btnSaveStyle_Click(object sender, EventArgs e)
        {
            this.SaveFormStyleXML(false);//保存自定义风格
        }

        //Btn还原风格
        private void btnRestoreStyle_Click(object sender, EventArgs e)
        {
            this.LoadFormStyleXML(true);//加载原始风格
        }
        
        /// <summary>
        /// 保存界面风格
        /// </summary>
        private void SaveFormStyleXML(bool p_IsOriginal)
        {
            //XML文件保存目录
            string dirPath = m_BathPath + "\\config\\";
            //检查XML保存目录是否存在,若不存在则新建
            if (!System.IO.Directory.Exists(dirPath))
            {
                System.IO.Directory.CreateDirectory(dirPath);
            }
            //若为原始风格,需加前缀Original_
            if (p_IsOriginal)
            {
                dirPath += "Original_";
            }
            //保存GridView显示风格
            string fullPath = dirPath + "gdvStyle.xml";
            this.gridView1.SaveLayoutToXml(fullPath);
        }
        
        /// <summary>
        /// 加载界面风格
        /// </summary>
        private void LoadFormStyleXML(bool p_IsOriginal)
        {
            //XML文件保存目录
            string dirPath = m_BathPath + "\\config\\";
            //若为原始风格,需加前缀Original_
            if (p_IsOriginal)
            {
                dirPath += "Original_";
            }
            //加载GridView显示风格
            string fullPath = dirPath + "gdvStyle.xml";
            if (System.IO.File.Exists(path_QueryYY))
            {
                this.gridView1.RestoreLayoutFromXml(fullPath);
            }
        }

转载于:https://www.cnblogs.com/ExDevilLee/p/3446838.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值