DevExpress报表确实强大,花样繁多,眼花缭乱。

这次使用XtraReport开发报表,很多问题在官方的文档中并没有详细的说明,特此记录。

1、XtraReport中FormattingRules属性是只能返回bool值的条件(Condition)判断,而不是我想要的表达式。

2、根据XtraReport官方文档中拖控件的方式创建的CalculatedFiled才是我想要的表达式。

1》拖控件的方式不灵活,而且XtraReport对象的DataSource(数据源)使用的DataSet类型,在构造XtraReport时必须指定DataMember属性。

this.calculatedField1 = new CalculatedField
{
DataMember = "Product",
Expression = "Iif([Id]==1,-2,2 )",
Name = "calculatedField1"
};
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.calculatedField1});//把计算字段放到报表的计算字段集合中,否则无法表现此字段。
this.DataMember = "Product";
this.DataSource = ds;
this.xrTableCell1.DataBindings.Add("Text", null, "Product.calculatedField1");

不过,这些都是拖拖控件就会自动生成的,不需要手动去写。

2》用纯代码的方式来实现,我的数据源是List<>类型,这时候需要注意在构造时,一定不能指定DataMember属性。

this.calculatedField1 = new CalculatedField
{
//DataMember = "Product",//使用List作为数据源,一定不能设置DataMember属性
Expression = "Iif([Id]==1,-2,2 )",
Name = "calculatedField1"
};
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.calculatedField1});
//this.DataMember = "Product";//使用List作为数据源,一定不能设置DataMember属性
this.DataSource = list;
this.xrTableCell1.DataBindings.Add("Text", null, "calculatedField1");

3、XtraReport报表似乎不支持RDLC中行组(RowGroup)和列组(ColumnGroup),或许是我没有发现。

最新文章

  1. 2013ACM/ICPC亚洲区南京站现场赛-HDU4809(树形DP)
  2. java selenium (十二) 操作弹出窗口
  3. 常见概率组合题目总结quickstart
  4. ecshop后台admin路径怎么修改
  5. javascript单体模式
  6. C# Winform中WndProc 函数作用
  7. 图解TCP/IP读书笔记(四)
  8. jQuery网页元素拖拽插件
  9. C#多线程实践——创建和开始使用
  10. 深信服模式(先做减法,必须拜访客户三次、研究需求方向,把产品的问题控制住,快速反应,在未来十年,绝大部分业务都会搬到Internet上来,实现All on Internet)good
  11. 我的 MarkDown 学习笔记
  12. windows下后台运行程序
  13. 解析xml的问题未解决
  14. 【Android 应用开发】 Ubuntu 安装 Android Studio (旧版本|仅作参考)
  15. 学号 2018-2019-20175212 实验一 《Java开发环境的熟悉》
  16. 面向对象编程其实很简单--python面向对象(初级篇)
  17. pyinstaller打包pyqt文件(转)
  18. CentOS 7.0关闭默认防火墙启用iptables防火墙
  19. String小案例(**)、包装类型和普通数据类型的转换(拆装箱)
  20. #loj3090 [BJOI2019] 勘破神机

热门文章

  1. SQL联合更新(只要有关联字段就能执行更新!)
  2. ajax select option 数据。为了下次方便信手拈来!!
  3. LinuxMM--Memory Pressure
  4. CSS实现完美垂直居中
  5. php 学习日志- 变量作用域
  6. 18.safari 安装后flash还是提示安装 flash,视频不能播放
  7. 页面超慢,zabbix却没报警
  8. ExecutorService中submit和execute的区别(转)
  9. RabbitMQ 问题记录
  10. Oracle/SQL 修改字段类型和长度