因交叉报表,动态列,需要排序,因是汉字,默认是按首字母的排序,这样就造成比如上期  本期 出现顺序混乱情况,于是结合网上一个方法,把汉字前边加字母 即可有效排序,结果就是汉字前边会多出一个字母

于是想到普通报表字段截取的表达式一直没用过,先试试普通报表的表达式

比如截取字段 一定要注意默认 remove 函数里边有个('',,)  这个单引号 在你点击字段进去的时候会 把要截取的字段也给放到单引号内了,导致截取的不是字段的数据源,截取的是单引号内的绑定字段.

注意以上问题,发现是没问题的.能正常截取.

还有个入口 就是通过单元格的属性进入

 交叉报表的单元格第一种方式是没有入口的.只能通过上边这种方式进入

默认可用的只是那几个基础的,对于字符串截取的根本没有. 

所以以上第一种通过右键单元格跳出的操作框是不行的.

于是只能点着单元格 F4 进入属性 或者右键属性

注意:还要保证你的数据源 是按照上边的字段顺序排序好的.要不交叉报表显示不稳定.

还有一种方式代码修改的方式由于上边已成功,就没测试

using DevExpress.XtraReports.UI;

public XtraReport1() {
    // ...
    ExpressionBinding expressionBinding = new ExpressionBinding("BeforePrint", "Text", "[UnitPrice]*[UnitsInStock]");
    xrLabel1.ExpressionBindings.Add(expressionBinding);
}

参考官网:

https://docs.devexpress.com/XtraReports/1180/detailed-guide-to-devexpress-reporting/use-report-controls/bind-report-controls-to-data/specify-a-control-s-binding-expression

posted on 2023-04-21 15:45  小石头的一天  阅读(78)  评论(0编辑  收藏  举报