以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 请教:DataList1显示的总计行仍会出现N个小数 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2728)
|
-- 作者:yangming
-- 发布时间:2009/5/9 9:53:00
-- 请教:DataList1显示的总计行仍会出现N个小数
请看下图,图中表格是以下代码生成的
此主题相关图片如下: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,"总计", "一月","二月","三月","四月", "五月", "六月","七月","八月","九月","十月","十一月","十二月","效益工资","年终奖","合计")
|
-- 作者:八婺
-- 发布时间:2009/5/9 23:22:00
--
是有这个问题,看来老还得改一下GrandTotal。
好象不关紧要,只要你不拉宽列宽,数据显示是正确的。
[此贴子已经被作者于2009-5-9 23:22:55编辑过]
|
-- 作者:mr725
-- 发布时间:2009/5/9 23:50:00
--
直接在 部门分月工资表 最后增加一行合计就可以了,不需要在datalist中来合计吧~
|
-- 作者:yangming
-- 发布时间:2009/5/10 9:04:00
--
以下是引用mr725在2009-5-9 23:50:00的发言: 直接在 部门分月工资表 最后增加一行合计就可以了,不需要在datalist中来合计吧~
直接加的合计在datalist是显示不出的,呵呵
|
-- 作者:mr725
-- 发布时间: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
-- 发布时间:2009/5/10 20:10:00
--
看看动画吧:不会有N位的小数
此主题相关图片如下:xs.gif
|
-- 作者:狐狸爸爸
-- 发布时间:2009/5/11 7:22:00
--
我改一下程序。 设计结构的时候,最好别用单精度小数,用双精度小数比较好
|
-- 作者:yangming
-- 发布时间:2009/5/11 8:55:00
--
以下是引用狐狸爸爸在2009-5-11 7:22:00的发言: 我改一下程序。 设计结构的时候,最好别用单精度小数,用双精度小数比较好
噢,我改一下
|