假设我们有这样一个需求,我要拿到所有培训学校,每个月培训人数,如下图的交叉统计表
交叉表在水晶报表中的实现非常简单,这里不再说明。
好,现在需求来了,客户要求可以看到各个培训学校每个月的培训学员名单。
此时我们就需要加入一个超级链接到上面的交叉表中,当用户点击其中一格统计数字时,能跳到另一个学员清单的界面。而在链接中我们需要把培训学校的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()函数来获取交叉表汇总字段的内容。
水晶报表的相关资料在网上极少,以上一点小小的经验,也是花了很久时间搜索无果后自己研究出来的,特此记录,也希望给有同样需求的童鞋有所帮助。