很久没有写博客了,关于动态列,国内很少资料有介绍动态列的,所想写点心得给哥们
啥是动态列呢?通常我们用存储过程时有列转行和行转列的做法,那么在RDLC 怎么支持呢?其实很简单,就是利用了RDLC的 Column Groups
先看看源数据:
序号 | 姓名 | 科目 | 分数 |
---|---|---|---|
1 | 张三 | 语文 | 80 |
2 | 张三 | 数学 | 90 |
3 | 张三 | 物理 | 85 |
4 | 李四 | 语文 | 70 |
要在RDLC显示为
序号 | 姓名 | 语文 | 数学 | 物理 |
---|---|---|---|---|
1 | 张三 | 80 | 90 | 85 |
2 | 李四 | 70 | 0 | 0 |
看看RDLC的设计
我们把科目这个列放到表头,然后右健,如下图,增加一个Column Group
弹出的对话框,选择Group by:科目
点OK 就大功告成了,然后会自动增加一个科目的表头,可以把那行删除掉,但不要删除 group
由此看来 我们要在RDL做行转列的话就使用 Column Group 就可以了
这里我再说多点 为什么有ParentGroup 和ChildrenGroup.
首先我们的科目可以分为文理科,列名叫做[分类],那么科目 语文属于[文科],数学 物理属于[理科]。这样,[分类]就是parent group,而其对应科目就是children group罗
直接看图
这次说了 Column Group 下次再说下 Row Group 用法