ActiveReports小计项的合计如何做?脚本的编写例子谁有呢?

xufeiyunwindows 2005-08-04 05:59:54
在这种报表中,我得出的fee1,fee2,fee3的数据,然后fees是fee1,fee2,fee3的数小计即显示如下:
fee1 fee2 fee3 fees
1 2 33 36
2 4 5 11
然后最后一行是合计
3 6 38 ?

但在?里,却不知道如何计算出该值的了?

(fees的DataField可以设置为 =fee1+fee2+fee3)其中,feen(n:=1,2,..n)分别为数据源中的字段

各位,help me

脚本的编写例子谁有呢?
...全文
297 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
kyukin 2005-08-22
  • 打赏
  • 举报
回复
你的数据源是什么,我的是dataset。我的数据是从数据库中取出来的,你的是不是?
rpt.DataSource = dtSet.Tables(0)
rpt.DataMember = dtSet.Tables(0).TableName

你说的死掉是不是异常终了。你要确保fee1,fee2,fee3中的数据为非空。(不是NULL)
你的fee1,fee2,fee3是不是INT型的,如果是DOUBLE也要出错的。

Script Language好像永远是C#,我用VB.NET也是C#。不过我仍然用的是VB.NET。
kyukin 2005-08-22
  • 打赏
  • 举报
回复
这样吧,我留个信箱,你把你的程序文件发给我。kyu_kin@hotmail.com
你也可以留个信箱,我把我的程序文件发给你。
xufeiyunwindows 2005-08-22
  • 打赏
  • 举报
回复
kyukin,不来了吗?
xufeiyunwindows 2005-08-19
  • 打赏
  • 举报
回复
我怎么调试都不能通过的,你是在VB.net里用的吧

我在c#.net里用的,没有你的cint函数的

谢谢。除了在下面的代码跟你的不一样,其他的都按你的设置做的修改的,但不行的
Report中的Fetch事件中写
Me.Fields("TotalFee").Value=cint(Fields("fee1").Value) _
+cint(Fields("fee2").Value) _
+cint(Fields("fee3").Value)

我转换上述代码为C#后,预览数据时,程序会死掉的
rpt.Fields("TotalFee").Value =
System.Int32.Parse(rpt.Fields("fee1").Value.ToString()) +
System.Int32.Parse(rpt.Fields("fee2").Value.ToString()) +
System.Int32.Parse(rpt.Fields("fee3").Value.ToString());
而在设计过程中,只能选择C#作为Script Language的,是不是因为开发环境为C#.net呢?
先谢过了

kyukin 2005-08-19
  • 打赏
  • 举报
回复
我翻了一下我以前的程序。应该是可以的。我说的详细一点,你再试试看。
首先(fee1 fee2 fee3 fees)这些字段名(不是数据)放在PageHeader中。
它们的数据放在detail中。
在程序中添加字段
public void ActiveReport_DataInitialize()
{
rpt.Fields.Add("TotalFee");
}
把Detail中的fees的datafield属性改成TotalFee
在你那个Report中的Fetch事件中写
Me.Fields("TotalFee").Value=cint(Fields("fee1").Value) _
+cint(Fields("fee2").Value) _
+cint(Fields("fee3").Value)
最后那个合计字段要放在PageFooter或reportFooter中(要看你的要求而定)
最后那个总合计的字段的DataField要变为TotalFee,SummaryFunc写成Sum,SummaryType写成GrandTotal或
PageTotal。
xufeiyunwindows 2005-08-18
  • 打赏
  • 举报
回复
public void ActiveReport_DataInitialize()
{
rpt.Fields.Add("TotalFee");
}

public bool ActiveReport_FetchData(bool eof)
{
eof = true;
rpt.Fields["TotalFee"].Value = "111";
return eof;
}
xufeiyunwindows 2005-08-18
  • 打赏
  • 举报
回复
不行的哦,没有用的,
rpt.Fields.Add("TotalFee");

rpt.Fields["TotalFee"].Value = 111;

也不行
xufeiyunwindows 2005-08-18
  • 打赏
  • 举报
回复
fees不是数据源里的字段哦

九头狼先生
jtl510 2005-08-18
  • 打赏
  • 举报
回复
用公式字段,分别为
formula = Sum (fee1)
formula = Sum (fee2)
formula = Sum (fee3)
formula = Sum (fees)
xufeiyunwindows 2005-08-17
  • 打赏
  • 举报
回复
不对,要知道,fees不是数据源里的字段的哦
fees是在界面的通过设置表达式来获取值的
kyukin 2005-08-17
  • 打赏
  • 举报
回复
忘了说了,要在detail中fees的DataField可以设置为fees
kyukin 2005-08-17
  • 打赏
  • 举报
回复
如果fees不是数据源的字段,可以自己定义。
在DataInitialize事件中定义。Me.Fields.Add("fees")
在FetchData中写Me.Fields("fees").Value=cint(Fields("fee1").Value) _
+cint(Fields("fee2").Value) _
+cint(Fields("fee3").Value)
这样就应该可以用了。
kyukin 2005-08-15
  • 打赏
  • 举报
回复
fee1 fee2 fee3 fees
的非合计字段在detail中。
合计字段在reportFooter中
fees的DataField可以设置为fees
Summary Type 设置为GrandTotal
xufeiyunwindows 2005-08-11
  • 打赏
  • 举报
回复
哎,郁闷啊
xufeiyunwindows 2005-08-08
  • 打赏
  • 举报
回复
真没有人来顶吗?
xufeiyunwindows 2005-08-05
  • 打赏
  • 举报
回复
怎么没人知道的吗?
帮我顶呀

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧