当前位置:编程学习 > C#/ASP.NET >>

水晶报表中按CHARGETYPE字段值分类统计用户数的问题

CHARGETYPE的值可能有“全费”,“半费”和“免费”三种,在.rpt文件怎么按照这三种值分类来显示用户数呢?刚刚结贴结早了,唉。
求大侠帮忙吧。我没多少分了。 --------------------编程问答-------------------- 没人回复啊,那我加分,快没有分了,请大家帮帮忙吧。小菜在线等待。 --------------------编程问答-------------------- 可以通过CHARGETYPE分组,然后分组汇总就可以了 --------------------编程问答-------------------- 我在“组名字段”对CHARGETYPE进行分组,然后 插入 汇总,但是汇总都只对字段汇总啊?您能不能再讲的详细点?麻烦你了。 --------------------编程问答-------------------- 之前问的问题已经解决。
现在问个新的问题,如何控制在水晶报表里是否显示提前已经定义好的“运行总计字段”,比如说我只查询了“全费”和“半费”的用户数,那么在水晶报表里我希望只现在这两个统计字段,另外一个怎么让它不显示呢? --------------------编程问答-------------------- 右键该字段-勾选抑制显示,然后编辑公式,就是X2按钮
之后输入 返回bool型的表达式

如果pascle语法不知道的话,可以用vb语法

--------------------编程问答-------------------- 谢谢llsen。
我在Print_User.aspx里面有三个checkbox,分别是“全费”,“半费”和“免费”。用户可以选一个两个或全选,如果用户选择了“全费”和“半费”,没有选择“免费”,怎么让“免费”不显示?因为“免费”用户的个数可以为0,所以我在抑制显示里写成“免费”用户个数为0,这样是不符合要求的。 --------------------编程问答-------------------- 关键是你aspx页面上的“全费”,“半费”和“免费”。这三个值,是如何传给水晶报表的。
如果你已经进行了数据过滤,如果不选“免费”,那么“免费”数据根本就不会在报表上显示
所以也不需要设置抑制显示。 --------------------编程问答-------------------- 在我的aspx页面里,如果选择了其中的哪个checkbox,sql语句就会查询哪种类型的用户数,然后将结果设置为水晶报表的数据。但是对于“全费”,“半费”和“免费”这三个checkbox的值怎么传给水晶报表,我还不会。请问可以实现吗? --------------------编程问答-------------------- 另外再问一个简单的问题,在公式编辑器里类型转换函数哪个是从string型转到integer型的函数啊?怎么使用呢?
不好意思,新手还什么都不会。 --------------------编程问答--------------------
引用 8 楼 my_sansan 的回复:
在我的aspx页面里,如果选择了其中的哪个checkbox,sql语句就会查询哪种类型的用户数,然后将结果设置为水晶报表的数据。但是对于“全费”,“半费”和“免费”这三个checkbox的值怎么传给水晶报表,我还不会。请问可以实现吗?


这个你完全可以用sql实现啊

select * from table where 字段 in ('全费','免费')
这样来取数据源
然后加载给报表就好了呀 --------------------编程问答--------------------
引用 9 楼 my_sansan 的回复:
另外再问一个简单的问题,在公式编辑器里类型转换函数哪个是从string型转到integer型的函数啊?怎么使用呢?
不好意思,新手还什么都不会。


用vb语法

语法   
  CBool(expression)   
    
  CByte(expression)   
    
  CCur(expression)   
    
  CDate(expression)   
    
  CDbl(expression)   
    
  CDec(expression)   
    
  CInt(expression)   
    
  CLng(expression)   
    
  CSng(expression)   
    
  CStr(expression)   
    
  CVar(expression)   
    
  CStr(expression)    --------------------编程问答--------------------
引用 10 楼 llsen 的回复:
引用 8 楼 my_sansan 的回复:
在我的aspx页面里,如果选择了其中的哪个checkbox,sql语句就会查询哪种类型的用户数,然后将结果设置为水晶报表的数据。但是对于“全费”,“半费”和“免费”这三个checkbox的值怎么传给水晶报表,我还不会。请问可以实现吗?


这个你完全可以用sql实现啊

select * from table where 字段 in ('全费……

我就是按照这样子做的,但是还是不能控制“免费”的统计不能显示啊,这个时候为0。 --------------------编程问答-------------------- 还有 这个计算应该怎么写呢?
int x=CINT({#MonthFee})*6*{#FullFee},这里因为MonthFee是string型,所以要把它转换为int型,此时错误为“此次应该有个语句”,这儿应该怎么写呢? --------------------编程问答--------------------
引用 13 楼 my_sansan 的回复:
还有 这个计算应该怎么写呢?
int x=CINT({#MonthFee})*6*{#FullFee},这里因为MonthFee是string型,所以要把它转换为int型,此时错误为“此次应该有个语句”,这儿应该怎么写呢?

这里这个问题已经解决了,我改成了CDbl就可以了。
--------------------编程问答-------------------- 我也不会,友情帮顶吧。 --------------------编程问答-------------------- 另外又出现一个问题,全费用户的统计本来结果是3,而且sql语句查到的记录也是3条,但是现在变成了6。我想可能是我没有设置重置的问题吧?但是这样子要设置重置条件为什么呢? --------------------编程问答-------------------- 呀,不好意思啊,因为不能连续回复三条,但是我还有个问题没说,所以找人回复了下。
另外又出现一个问题,全费用户的统计本来结果是3,而且sql语句查到的记录也是3条,但是现在变成了6。我想可能是我没有设置重置的问题吧?但是这样子要设置重置条件为什么呢? --------------------编程问答-------------------- 刚刚的问题也解决了,在计数的时候我选择“非重复计数”,唉这么简单的问题啊。
现在就剩下一个问题了,就是checkbox的值的状态能放到水晶报表.rpt里面作为它的抑制显示条件吗?大虾过来帮帮忙吧? --------------------编程问答-------------------- 这个问题就是 

你检索的结果只是你选的结果就可以了
select * from table where 字段 in ()
这样一个语句不就可以过滤掉没选择项的语句了吧

然后你把不包含 不选项的结果的记录集 传给报表,报表就不会显示了啊 --------------------编程问答-------------------- 现在我把三个checkbox的状态作为值建立了一个新表datatable,作为.aspx里面dataset的第二个表,想把也作为水晶报表的数据源传进去,应该怎么写呢?能把ReportDocument类型的对象的数据源设置为两个表吗?如果不能的话,CrystalReportViewer对象的ReportSoutce可以设置为两个ReportDocument吗?
我这样做可行吗? --------------------编程问答--------------------
引用 19 楼 llsen 的回复:
这个问题就是

你检索的结果只是你选的结果就可以了
select * from table where 字段 in ()
这样一个语句不就可以过滤掉没选择项的语句了吧

然后你把不包含 不选项的结果的记录集 传给报表,报表就不会显示了啊

但是报表显示 “没有选择的类型”的用户统计数为“0”,这个要怎么办呢?是我设置错了吗? 
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,