Foxtable(狐表)用户栏目专家坐堂 → 请教:DataList1显示的总计行仍会出现N个小数


  共有20739人关注过本帖树形打印复制链接

主题:请教:DataList1显示的总计行仍会出现N个小数

美女呀,离线,留言给我吧!
yangming
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
请教:DataList1显示的总计行仍会出现N个小数  发帖心情 Post By:2009/5/9 9:53:00 [只看该作者]

请看下图,图中表格是以下代码生成的


图片点击可在新窗口打开查看此主题相关图片如下:113.jpg
图片点击可在新窗口打开查看

DataTables("部门分月工资表").DataRows.Clear()
 dim f As New Filler
 f.SourceTable = DataTables("工资库") '指定数据来源
 f.SourceCols = "部门" '指定数据来源列
 f.DataTable = DataTables("部门分月工资表") '指定数据接收表
 f.DataCols = "部门" '指定数据接收列
 f.Fill() '填充数据
 For Each dc As DataCol In DataTables("部门分月工资表").DataCols
     If dc.Name.EndsWith("月") Then
         For Each dr As DataRow In DataTables("部门分月工资表").DataRows
             dr(dc.name) = DataTables("工资库").Compute("Sum(实发工资)","月份 ='" & dc.Name & "' And 部门 = '" & dr("部门") & "'")
         Next
     End If
 Next
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
dst.DataTable = DataTables("部门分月工资表")
dst.Build()
dst.DataTable = DataTables("部门分月工资表")
dst.Build()
dst.GrandTotal(AggregateEnum.Sum,"总计", "一月","二月","三月","四月", "五月", "六月","七月","八月","九月","十月","十一月","十二月","效益工资","年终奖","合计")

 回到顶部
帅哥哟,离线,有人找我吗?
八婺
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:252 积分:1355 威望:0 精华:0 注册:2009/4/5 13:06:00
  发帖心情 Post By:2009/5/9 23:22:00 [只看该作者]

是有这个问题,看来老还得改一下GrandTotal

好象不关紧要,只要你不拉宽列宽,数据显示是正确的。
[此贴子已经被作者于2009-5-9 23:22:55编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/5/9 23:50:00 [只看该作者]

直接在 部门分月工资表 最后增加一行合计就可以了,不需要在datalist中来合计吧~

 回到顶部
美女呀,离线,留言给我吧!
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/10 9:04:00 [只看该作者]

以下是引用mr725在2009-5-9 23:50:00的发言:
直接在 部门分月工资表 最后增加一行合计就可以了,不需要在datalist中来合计吧~

直接加的合计在datalist是显示不出的,呵呵


 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/5/10 20:01:00 [只看该作者]

在命令窗口测试 正常啊~     有谁能简化一下就好了
CurrentTable.AddNew()
currenttable.current("部门") = "合计"
currenttable.current("一月") = currenttable.Compute("Sum(一月)")
currenttable.current("二月") = currenttable.Compute("Sum(二月)")
currenttable.current("三月") = currenttable.Compute("Sum(三月)")
currenttable.current("四月") = currenttable.Compute("Sum(四月)")
currenttable.current("五月") = currenttable.Compute("Sum(五月)")
currenttable.current("六月") = currenttable.Compute("Sum(六月)")
currenttable.current("七月") = currenttable.Compute("Sum(七月)")
currenttable.current("八月") = currenttable.Compute("Sum(八月)")
currenttable.current("九月") = currenttable.Compute("Sum(九月)")
currenttable.current("十月") = currenttable.Compute("Sum(十月)")
currenttable.current("十一月") = currenttable.Compute("Sum(十一月)")
currenttable.current("十二月") = currenttable.Compute("Sum(十二月)")
currenttable.current("效益工资") = currenttable.Compute("Sum(效益工资)")   '原日期型改为双精
currenttable.current("年终奖") = currenttable.Compute("Sum(年终奖)")
currenttable.current("合计") = currenttable.Compute("Sum(合计)")  '字符型改为双精
forms("窗口1").open()
Dim dst As WinForm.DataList = Forms("窗口1").Controls("DataList1")
dst.DataTable = DataTables("部门分月工资表")
dst.Build()

[此贴子已经被作者于2009-5-10 20:17:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/5/10 20:10:00 [只看该作者]

看看动画吧:不会有N位的小数

图片点击可在新窗口打开查看此主题相关图片如下:xs.gif
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/5/11 7:22:00 [只看该作者]

我改一下程序。
设计结构的时候,最好别用单精度小数,用双精度小数比较好

 回到顶部
美女呀,离线,留言给我吧!
yangming
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/11 8:55:00 [只看该作者]

以下是引用狐狸爸爸在2009-5-11 7:22:00的发言:
我改一下程序。
设计结构的时候,最好别用单精度小数,用双精度小数比较好

噢,我改一下


 回到顶部