日期:2014-05-17  浏览次数:20393 次

请问下面动态显示报表是怎么做的?
比如有1张表,里面有3列,姓名,日期,性别;现在在最上面显示这3个选项,如果去掉性别前面的打钩,报表里面就只显示2列?
这是不是通过编程if,else语句实现的?看了微软的例子好像没见到
------解决方案--------------------
@str='姓名,日期,性别'
exec('select '+@str+' from tb')
------解决方案--------------------
declare @s varchar(100)
declare @s='姓名,日期'
exec ('select '+@s+' from tb')

------解决方案--------------------
引用:
比如有1张表,里面有3列,姓名,日期,性别;现在在最上面显示这3个选项,如果去掉性别前面的打钩,报表里面就只显示2列?
这是不是通过编程if,else语句实现的?看了微软的例子好像没见到
这个应该是去掉打钩以后在事件里写程序把报表一列隐藏掉了
------解决方案--------------------
阳光女孩
------解决方案--------------------
set @str='姓名,日期,性别'
set @str='select '+@str+' from tb'
exec(@str)

------解决方案--------------------
引用:
引用:
引用:
比如有1张表,里面有3列,姓名,日期,性别;现在在最上面显示这3个选项,如果去掉性别前面的打钩,报表里面就只显示2列?
这是不是通过编程if,else语句实现的?看了微软的例子好像没见到
这个应该是去掉打钩以后在事件里写程序把报表一列隐藏掉了

不是这样子吧,那样会很浪费时间空间的,应该是不显示出来的
隐藏一列只需要修改属性,根本不用去数据库,你认为哪个浪费时间,空间?
------解决方案--------------------
如果是选择之后在查询就用动态查询,一楼的方法
查询之后再隐藏就在事件里处理,
两种处理方式,前提条件不同
------解决方案--------------------
动态列啊 , 有几个动态列加几个参数, 设计报表的时候在列的属性visibility根据参数值设可见性,dataset也根据参数删选列
------解决方案--------------------
触发服务器端事件,CHECKBOX状态改变事件,然后判断是否隐藏这一列,然后再重新绑定数据。
------解决方案--------------------
毕业设计搞怎么样了 


你这问题,看你的数据源是什么形式了,如果是从数据库里读数据显示的话,可以用楼上们的意见

如果你是在cube里取数据展示报表的话,有更方便的做法
------解决方案--------------------
嗯,找工作是大事,仅次于找男朋友的大事