以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 专业报表 代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=139728) |
-- 作者:hanzhang98 -- 发布时间:2019/8/20 11:35:00 -- [求助] 专业报表 代码 ??? [此贴子已经被作者于2019/8/20 21:32:04编辑过]
|
-- 作者:有点酸 -- 发布时间:2019/8/20 13:50:00 -- 什么是行,什么是列,这个代码都没有分清楚,有修改的可能和价值吗? 你还是先回头按顺序看两遍帮助吧 下面的代码是遍历行还是列呢? For mc As Integer = 0 To rt.Rows(rt.Rows.Count -1).Length - 1 \'循环新增行所有单元格 如果要如你的代码注释,要遍历新增行,应该是: For mc As Integer = 0 To rt.Cols.Count -1 \'循环新增行所有单元格 If tb.Cols(m).IsNumeric \'如果是数值列 Else End If Next |
-- 作者:hanzhang98 -- 发布时间:2019/8/20 17:33:00 -- 老师好。能否赐教给修改下(黄底色)的代码。先谢谢了。 rt.Rows.Count = rt.Rows.Count + 1 \'增加本页小计行 rt.Rows(rt.Rows.Count -1).Height = 8 rt.Cells(rt.Rows.Count -1,0).SpanCols = 5 rt.Rows(rt.Rows.Count -1).Style.TextAlignHorz = prt.AlignHorzEnum.Right rt.Rows(rt.Rows.Count -1).Style.Font = New Font("Arial Narrow", 8) rt.Cells(rt.Rows.Count -1).Text = Format(rt.Cells(rt.Rows.Count -1),"#,##0.00") \'千位分节符保留两位小数 [此贴子已经被作者于2019/8/20 17:33:16编辑过]
|
-- 作者:有点酸 -- 发布时间:2019/8/20 17:37:00 -- 你连Foxtable中的数据表,还是专业报表中的表,都分不清楚? rt是什么? 不应该是从Datatable或Table中取数据打印吗? 先去看帮助,我没有办法修改你的代码。
[此贴子已经被作者于2019/8/20 17:37:18编辑过]
|
-- 作者:hanzhang98 -- 发布时间:2019/8/20 18:01:00 -- Dim rt As New prt.RenderTable() \'定义一个表格对象 rt.Rows.Count = rt.Rows.Count + 1 \'增加本页小计行 rt.Rows(rt.Rows.Count -1).Height = 8 rt.Cells(rt.Rows.Count -1,0).SpanCols = 5 rt.Rows(rt.Rows.Count -1).Style.TextAlignHorz = prt.AlignHorzEnum.Right rt.Rows(rt.Rows.Count -1).Style.Font = New Font("Arial Narrow", 8) rt.Cells(rt.Rows.Count -1).Text = Format(rt.Cells(rt.Rows.Count -1),"#,##0.00") \'千位分节符保留两位小数 |
-- 作者:有点蓝 -- 发布时间:2019/8/20 20:28:00 -- 没看懂,要做什么? |
-- 作者:hanzhang98 -- 发布时间:2019/8/20 21:23:00 -- 蓝老师好. 专业报表的新增插入"本页小计"行, 其中的行高、字体、字号等已设置好. 想实现: FOR 循环新增行“rt.Rows.Count -1” 所有单元格 IF 如果是"数值" IF 如果数值<> "0" 单元格的数值格式为"#,##0.00" ELSE 单元格的数值格式为"-" END IF
ELSE 单元格的格式保持原格式 END IF NEXT [此贴子已经被作者于2019/8/20 23:21:08编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/8/20 22:07:00 -- 为什么不判断表格table的单元格值,而去判断报表单元格的值? |
-- 作者:hanzhang98 -- 发布时间:2019/8/20 22:12:00 -- 蓝老师好。在报表每页的最后插入的“本页小计”行的单元格的值是通过用“SUM”报表代码汇总当页报表的数据而来的,不是table表单元格的原数据。我是这样理解的。 [此贴子已经被作者于2019/8/20 22:15:35编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/8/20 22:22:00 -- 既然是sum的,sum变量应该就是数值型,还有必要再判断是否是数值? 既然是sum的,直接对sum值格式化然后赋值不就行了? if sum = 0 then 单元格值= “-” else 单元格值 = Format(sum ,"#,##0.00") endif
|