• XtraReport交叉表隐藏列标题及自定义排序


    1.隐藏列标题

    用DevExpress PivotGrid report 做报表的时候,将字段拖放到报表中后,ColumnArea和DataArea会显示两个标题字段,如下图:

    clip_image001

    选中交叉表,设置以下属性可以隐藏:

    clip_image002

    效果如下:

    clip_image003

    2.自定义排序

    做报表的时候,设定ColumnArea的FiledName为sSize,最终呈现的报表是依据sSize排序。而期望的是按照iSizeGroupId,iSizeOrder排序,但iSizeGroupId,iSizeOrder由于不用在报表中呈现,故未将其拖放在报表中.

    如何使ColumnArea依据iSizeGroupId,iSizeOrder来排序呢? 使用xrPivotGrid1_CustomFieldSort 事件可以解决这个问题。

    具体处理如下:

    1.设置sSize的SortMode为Custom。否则xrPivotGrid1_CustomFieldSort 事件不会触发。

    clip_image004

    clip_image005

    2.处理xrPivotGrid1_CustomFieldSort 事件。

    注:此处的排序字段也可以在SQL中提前处理好,在SQL中将两个字段合并一个排序字段。

    private void pivotGrid1_CustomFieldSort(object sender, HuanSi.XtraReports.UI.PivotGrid.PivotGridCustomFieldSortEventArgs e)

    {

    //当列为sSize时,才处理自定义排序

    if (e.Field.FieldName == "sSize")

    {

    if (e.Value1 == null || e.Value2 == null) return;

    e.Handled = true;

    //取iSizeGroupId

    string sg1 = e.GetListSourceColumnValue(e.ListSourceRowIndex1, "iSizeGroupId").ToString();

    string sg2 = e.GetListSourceColumnValue(e.ListSourceRowIndex2, "iSizeGroupId").ToString();

    //取iSizeOrder

    string s1 = e.GetListSourceColumnValue(e.ListSourceRowIndex1, "iSizeOrder").ToString();

    string s2 = e.GetListSourceColumnValue(e.ListSourceRowIndex2, "iSizeOrder").ToString();

    //比较iSizeGroupId

    if (string.Compare(sg1, sg2) > 0)

    {

    e.Result = 1;

    }

    else if (string.Compare(sg1, sg2) == 0) //iSizeGroupId相等时,再比较iSizeOrder

    {

    e.Result = string.Compare(s1, s2);

    }

    else

    {

    e.Result = -1;

    }

    }

    }

    3.保存预览即可达到预期目标

    clip_image006

  • 相关阅读:
    PAT 甲级 1120 Friend Numbers (20 分)
    AcWing 894. 拆分-Nim游戏
    AcWing 891. Nim游戏
    AcWing 892. 台阶-Nim游戏
    AcWing 893. 集合-Nim游戏
    洛谷P1433 吃奶酪
    洛谷P1118 [USACO06FEB]数字三角形`Backward Digit Su`…
    AcWing 125. 耍杂技的牛
    AcWing 104. 货仓选址 绝对值不等式
    AcWing 913. 排队打水 排序不等式贪心
  • 原文地址:https://www.cnblogs.com/wanglj2007/p/5503063.html
Copyright © 2020-2023  润新知