以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 专业报表合计问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192442) |
|
-- 作者:lin98 -- 发布时间:2024/6/23 9:18:00 -- 专业报表合计问题 专业报表合计问题 rt.Cells(cnt, 6).Text = Format(sum3, "#,###.00") \'
执行后,空值时,显示0,不好看,如何处理? |
|
-- 作者:有点蓝 -- 发布时间:2024/6/23 20:43:00 -- 判断一下是否空值,参考这里的方法:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=192397&authorid=0&page=0&star=2 |
|
-- 作者:lin98 -- 发布时间:2024/6/24 9:01:00 -- Dim sum2 As Double = 0 For r As Integer = p * prs To math.min(Rows.Count - 1, ( p + 1) * prs - 1) sum2 += rows(r)("数量") \'计算合计-数量 For j As Integer = 0 To cols.Length - 1
If Rows(r).IsNull(cols(j)) = False Then rt2.Cells(r - p * prs + 1, j).Text = rows(r)(cols(j)) End If Next Next rt2.Cells(cnt, 3).Text = Format(sum2, "#,###.00") 执行后,数量的合计为空值,还是显示0,如何实现为0不显示? |
|
-- 作者:有点蓝 -- 发布时间:2024/6/24 9:06:00 -- 没看到有对合计做判断 |
|
-- 作者:lin98 -- 发布时间:2024/6/24 9:31:00 --
没报错,失效 |
|
-- 作者:有点蓝 -- 发布时间:2024/6/24 9:35:00 -- 神仙思路!! if sum2 <> 0 rt2.Cells(cnt, 3).Text = Format(sum2, "#,###.00") end if
|
|
-- 作者:lin98 -- 发布时间:2024/6/24 11:05:00 -- 由于 For p As Integer = 0 To math.Ceiling(Rows.Count / prs) - 1 \'换页 If p = math.Ceiling(Rows.Count / prs) - 1 Then\'如果是最后一页 For r As Integer = Rows.Count To ( p + 1) * prs - 1 \'补空行 rt2.Rows.Count = rt2.Rows.Count + 1 rt2.Rows(rt2.Rows.count - 1)(0).text = " " Next Else rt.BreakAfter = prt.BreakEnum.Page \'否则换页 End If Next 换页效果不理想,增加下面代码,效果好些,但就是最后会显示空白页,如何不显示最后的空白页? Dim rm5 As prt.RenderEmpty \'定一个空对象 rm5 = New prt.RenderEmpty \'定义一个新的空对象 rm5.BreakBefore = prt.BreakEnum.Page \'打印前换页 doc.Body.Children.Add(rm5) \'加入到报表中
|
|
-- 作者:有点蓝 -- 发布时间:2024/6/24 11:37:00 -- 换页放到前面,先换页再打印 |