【Devexpress】Gridcontorl的列隐藏后再显示位置发生了变化

首先在可视化界面中排序好每个列的显示位置索引

在窗口初始化时进行记录在字段中

  /// <summary>
        /// 当前显示列的位置索引,用于隐藏后显示进行重新排序位置
        /// </summary>
        Dictionary<DevExpress.XtraGrid.Columns.GridColumn, int> ColumnsVisIndex = new Dictionary<DevExpress.XtraGrid.Columns.GridColumn, int>();
 public F_Shipments()
        {
            InitializeComponent();
             for (int i = 0; i < gridView1.Columns.Count; i++)
            {
                ColumnsVisIndex.Add(gridView1.Columns[i], gridView1.Columns[i].VisibleIndex);
            }
         }

每次隐藏或者显示后。根据最初记录的顺序来重新进行排列就可以

 //进行列排序因为隐藏的列重新显示会打乱排序
            foreach (var item in ColumnsVisIndex)
            {
                if (item.Key.Visible)
                    item.Key.VisibleIndex = item.Value;
            }

posted @   Sqsdhc  阅读(91)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示