在制作SSRS报表的时候,表头中要根据输入的参数值动态显示。举个例子给各位大侠。比如要在表头中输入以下字段:
=Fields!DivisionName.Value 然后根据数据的DivisionName这个参数来显示不懂得DivisionName的名称。但是问题出现了,就是在表头中不能用=Fields!DivisionName.Value来直接从数据源取数据,SSRS会报错:Cannot place a subreport in the page Header or page footer ,如何解决这个问题呢?因为表头数据要求多页重复,所以只能在表头中使用Fields! 请各位帮帮我,万分万分的感激不尽!

解决方案 »

  1.   

    一个table里表头不能自动变化,有个变通的方法,你把字段名字也通过有个脚本生成但注意数据的列明统一叫比如col1,col2...在表头中输入dataset.Fields!col1.value即可,可以通过这样的方法实现动态,或者名字就那么几个根据不同条件变化自己在里面用iif或switch函数判断写死也可以,当然5楼的方法也是可行的。就看你自己想用什么方法了
      

  2.   

    谢谢你的答复,因为我是第一次用SSRS做报表,还有很多问题不是很清楚。我现在没有用table做表头,而是用Rectangle做容器里面放Textbox.在TextBox中用=Fields!DivisionID.Value来取数据。你说通过脚本生成字段名,请问能在具体一点吗,我还不是很清楚。谢谢6楼的大哥了
      

  3.   

    你这样做一次只能显示一条记录,而且你自己还有设翻页,有什么特殊要求才这样做吗?你这样做textbox一次只能绑定一个值,所以你直接拖进去的是它应该显示的是Firest(Fields!DivisionID.Value)
    我建议你用Table把,把SQL写好,对应字段值拖进detail行,header行直接写,footer行算total用的拖进去就是SUm(column).
    你讲一讲你的要求把不然我也不知从何说起