zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    java提高篇(九)-----实现多重继承
    java提高篇(八)----详解内部类
    java提高篇(七)-----关键字static
    在tomcat下部署工程
    java提高篇(六)-----使用序列化实现对象的拷贝
    java提高篇(五)-----抽象类与接口
    java提高篇(四)-----理解java的三大特性之多态
    java提高篇(三)-----java的四舍五入
    java那些小事---用偶数做判断,不要用基数做判断
    java提高篇(二)-----理解java的三大特性之继承
  • 原文地址:https://www.cnblogs.com/wanglj2007/p/5503063.html
Copyright © 2011-2022 走看看