• 读书笔记 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;
    其实现也就如此的简单。


     

  • 相关阅读:
    如何上载图片到SAP数据库并显示
    ◆◆0如何查看ABAP程序或者数据库表的版本历史
    python中我认为一些重要的东西
    Pytorch使用-1
    大工具-收藏
    大想法-(收藏)
    TODO-深度学习实验
    顺便配置了下vim
    不影响已安装的低版本cuda8及其环境工具条件下安装新版本cuda9
    ConvLSTM-AE for VAD (ICME2017-SIST)
  • 原文地址:https://www.cnblogs.com/chump/p/2368141.html
Copyright © 2020-2023  润新知