假设我们有这样一个需求,我要拿到所有培训学校,每个月培训人数,如下图的交叉统计表
交叉表在水晶报表中的实现非常简单,这里不再说明。
好,现在需求来了,客户要求可以看到各个培训学校每个月的培训学员名单。
此时我们就需要加入一个超级链接到上面的交叉表中,当用户点击其中一格统计数字时,能跳到另一个学员清单的界面。而在链接中我们需要把培训学校的ID和月份ID作为参数传到新页面。
链接制作方法:
在水晶报表设计界面,如下图的“合计”单元格中点右键,选择“设置对象格式”
在出现的窗口中选择“超级链接”选项卡
选择“Internet上的网站”,然后删除“网站地址”中内容,再点击右边红圈中的图标进入公式工作室
这里就是本文的重点,如何在链接中使用交叉表的汇总字段值,如培训学校ID和月份,
如果我们简单的将“报表字段”中内容拖入编辑框中,我们最终得到的结果是所有链接的所有值都是相同的,不会随着行列的变化发生变化。
示例公式:
"
/Reports/myRpt.aspx?jxId=
"
+
CStr
(GridRowColumnValue(
"
JXTJ.ds_BosNum
"
),
"
#
"
)
+
"
&nf=
"
+
CStr
({JXTJ.nf},
"
#
"
)
+
"
&yf=
"
+
Cstr
(GridRowColumnValue(
"
JXTJ.yf
"
),
0
)
+
"
&flag=
"
+
{JXTJ.flag}
公式中的JXTJ.ds_BosNum和JXTJ.yf均为汇总字段,即学校ID和月份
必须通过GridRowColumnValue()函数来获取交叉表汇总字段的内容。
水晶报表的相关资料在网上极少,以上一点小小的经验,也是花了很久时间搜索无果后自己研究出来的,特此记录,也希望给有同样需求的童鞋有所帮助。