万能报表交叉分析表格自定义排序原创
金蝶云社区-王文亮
王文亮
4人赞赏了该文章 1011次浏览 未经作者许可,禁止转载编辑于2022年01月13日 10:04:53

需求背景:服装尺码我们知道从小到大的号码有XXS,XS,S,M,L,XL,XXL,XXL,但是交叉分析表格如果字段是字符串类型,默认按字符串排出来的顺序是:L,M,S,XL,XS,XXS等,如下图

image.png

如何按服装号码从小到大排序呢,我们可以使用交叉分析表格自定义排序功能实现,具体步骤如下:

1.设置要排序的字段的排序方式为自定义.

image.png

2.设置交叉分析表CustomFieldSort脚本

image.png

System.Collections.Generic.Dictionary<string, int> dt = new System.Collections.Generic.Dictionary<string, int>(){
{"XXS",1},
{"XS",2},
{"S",3},
{"M",4},
{"L",5},
{"XL",6},
{"XXL",7},
{"XXXL",8}
};

private void pivotGrid1_CustomFieldSort(object sender, DevExpress.XtraReports.UI.PivotGrid.PivotGridCustomFieldSortEventArgs e) {
if (e.Field.FieldName == "期间")
{
  if (e.Value1 == null || e.Value2 == null) return;
  e.Handled = true;
  string s1 = e.Value1.ToString();
  string s2 = e.Value2.ToString();
 
  if (dt[s1] > dt[s2]){
    e.Result = 1;
  }
  else if (dt[s1] == dt[s2]){
    e.Result = 0;
  }
  else{
    e.Result = -1;
  }
 }
}

3.自定义排序后的预览效果

image.png


赞 4