zoukankan      html  css  js  c++  java
  • 读书笔记 UltraGrid(16)

    单元格合并
    当使用grid列示数据时,如果某一行某列数据和上一行的对应列数据相同时,我们想把该列的显示隐含。
    所有band中的所有列。
    this.ultraGrid1.DisplayLayout.Override.MergedCellStyle = MergedCellStyle.Always
    其值还可以是:
    OnlyWhenSorted:只在排序时候合并
    Never:从不合并

    也可以针对具体的列来设置,如:
    this.ultraGrid1.DisplayLayout.Bands[1].Columns["SpecWth"].MergedCellStyle = MergedCellStyle.Never;
    合并可以按文本相同或者值相同,如:
    this.ultraGrid1.DisplayLayout.Bands[1].Columns["SpecWth"].MergedCellEvaluationType = MergedCellEvaluationType.MergeSameText;

    但有时这种合并还是不能满足我们的要求,那我们可以自定义条件合并即可。
    实现如下:
    public class CustomMergedCellEvaluator : IMergedCellEvaluator
    {
            UltraGridColumn[] ugcs;
            public CustomMergedCellEvaluator(UltraGridColumn[] keys)
            {
                this.ugcs = keys;
            }

            public bool ShouldCellsBeMerged(UltraGridRow row1, UltraGridRow row2, UltraGridColumn column)
            {
                bool keyIsSame = KeyIsSame(row1, row2, this.ugcs);
                if (keyIsSame == true)
                    return row1.Cells[column].Value.ToString () == row2.Cells[column].Value.ToString();
                else
                    return false;
            }

            private bool KeyIsSame(UltraGridRow row1, UltraGridRow row2, UltraGridColumn[] keys)
            {
               //定义合并的逻辑
                return keyIsSame;
            }
    }

    这时我们在column中设置如下,即可按我们的条件合并了。
    ustomMergedCellEvaluator cmce = new CustomMergedCellEvaluator(new UltraGridColumn[]{ultraGrid1.DisplayLayout.Bands[1].Columns[0],ultraGrid1.DisplayLayout.Bands[1].Columns[1]});
    column.MergedCellEvaluator = cmce;
    column.MergedCellStyle = MergedCellStyle.Always;
    column.MergedCellEvaluationType = MergedCellEvaluationType.MergeSameText;
    其实现也就如此的简单。


     

  • 相关阅读:
    正则表达式(转)
    Collections中的shuffle()方法
    Fermat定理
    哈希算法(转)
    Hungarian method (匈牙利算法)----解决指派问题(转)
    蒙塔卡洛模拟
    线程的礼让
    线程间的沟通
    安装rlwrap
    yum切到光盘源
  • 原文地址:https://www.cnblogs.com/chump/p/2368141.html
Copyright © 2011-2022 走看看