zoukankan      html  css  js  c++  java
  • 【原创】DevExpress控件GridControl中的列冻结详解

        DevExpress控件组是一个非常强大的控件集,尤其是其中的DxGrid异常的强大,给我们这些开发者提供了很方便的开发平台。

    GridView是GridControl中的一个View类型,其中的列有冻结功能,但近期在使用时发现一个问题,冻结可以,但取消冻结就会出现列位置移动的问题。

    列的冻结有三种类型:左冻结、右冻结、无冻结。

    我的操作是这样的: 

                    //冻结有焦点的列
    int fixcolumn = 0;
    GridColumn column
    = m_gridView.FocusedColumn;
    if (column == null)
    return;
    fixcolumn
    = column.VisibleIndex;
    for (int i = 0; i < fixcolumn; i++)
    {
    m_gridView.VisibleColumns[i].Fixed
    = DevExpress.XtraGrid.Columns.FixedStyle.Left;
    }


    //取消冻结【说明:以下这种取消冻结后,就会出现列的位置倒置的情况】
    for (int i = 0; i < fixcolumn; i++)
    {
    m_gridView.VisibleColumns[i].Fixed
    = DevExpress.XtraGrid.Columns.FixedStyle.None;
    }
                             //正确的取消冻结[倒置进行取消冻结],这样就可以保证冻结前与冻结后的列的位置保持一致
                     for (int i = fixcolumn; i >=0 ; i--)
                    {
                        m_gridView.VisibleColumns[i].Fixed
    =DevExpress.XtraGrid.Columns.FixedStyle.None;
                    }

    从DXGRID中的DEMO中的FixedColumn程序中就可以了解到,因为dxgrid中的冻结是在列的属性,当冻结一个列时则此列就会自动的靠到对应的左或右,当冻结为

    none时则此列不会返回之前的列的位置,而是保持原状。

    具体可以在demo中进行测试.

  • 相关阅读:
    一、入门实例
    十四、事物配置
    JAVA-调用http链接
    ORACLE 年龄计算到月份
    ORACLE和MYSQL 去重查询
    JAVA--将图片转为BASE64编码并返回thymeleaf页面
    JAVA--将图片保存至项目路径
    java--获取类加载路径和项目根路径
    excel执行INSERT和UPDATE操作语句
    c# 未能加载Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342
  • 原文地址:https://www.cnblogs.com/martintuan/p/1971457.html
Copyright © 2011-2022 走看看