Foxtable(狐表)用户栏目专家坐堂 → 老师变量序号a=a+1放在哪里比较合适,现在不按顺序加数


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

主题:老师变量序号a=a+1放在哪里比较合适,现在不按顺序加数

帅哥哟,离线,有人找我吗?
xxfoxtable
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1743 积分:16410 威望:0 精华:0 注册:2017/6/1 23:12:00
老师变量序号a=a+1放在哪里比较合适,现在不按顺序加数  发帖心情 Post By:2023/11/9 21:40:00 [只看该作者]

Dim tb As Table = Tables(args(5))
Dim prs As Integer =30
Dim ir As Integer = Math.Ceiling(tb.Rows.Count / prs)
Dim a As Integer = 1
For i As Integer = 0 To ir - 1
    Dim rt As New prt.RenderTable() '定义一个表格对象
    Dim rx, rx1, rx2 As New prt.RenderText '定义一个文本对象
    Dim ra As New prt.RenderArea '定义一个容器
    If Tables("处方打印设置").Current("标题一") > "" Then
        rx.text = Tables("处方打印设置").Current("标题一")
        rx.Style.FontBold = True '字体加粗
        rx.Style.FontSize = CStr(Tables("处方打印设置").Current("标题一字体大小"))
        rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
        rx.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
        doc.Body.Children.Add(rx) '加入到报表中
    End If
        If Tables("处方打印设置").Current("标题二") > "" Then
        rx1 = New prt.RenderText
        rx1.text = Tables("处方打印设置").Current("标题二")
        rx.Style.FontBold = True '字体加粗
        rx1.Style.FontSize = CStr(Tables("处方打印设置").Current("标题二字体大小"))
        rx1.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
        rx1.Style.Spacing.Bottom = 3 '和下面的对象(表格)距离3毫米
        ra.Children.Add(rx1)
    End If
    
    rx2 = New prt.RenderText
    rx2.text = "姓名:" & Args(0) & " 性别:" & Args(1) & " 年龄:" & args(2) & " 日期:" & format(Args(3), "yyyy年MM月dd日") & " 电话:" & Args(8)
    rx.Style.FontBold = True '字体加粗
    rx2.Style.FontSize = CStr(Tables("处方打印设置").Current("内容字体大小"))
    rx2.Style.TextAlignHorz = prt.AlignHorzEnum.center '水平居中排列
    rx2.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
    ra.Children.Add(rx2)
    
    rx = New prt.RenderText
    rx.text = "--------------------------------------------------------------------------------------------------------------------------"
    rx.Style.FontBold = True '字体加粗
    rx.Style.FontSize = CStr(Tables("处方打印设置").Current("内容字体大小"))
    rx.Style.TextAlignHorz = prt.AlignHorzEnum.center '水平居中排列
    rx.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
    ra.Children.Add(rx)
    rt.Style.Font = New font("宋体", CStr(Tables("处方打印设置").Current("内容字体大小")))



    rt.Style.TextAlignVert = prt.AlignVertEnum.Center '内容垂直居中
    rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
    rt.Style.FontSize = 11 '大体大小为16磅
    rt.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top
   
    For c As Integer = 0 To ColNames.Length - 1 '逐列设置和填入内容
        If c = 0 Then
            rt.Cells(0, 0).Text = "序号" 
        End If 
        rt.Cells(0, c + 1).Text = ColNames(c) '列名作为标题 
        
        
        rt.Cells(0, c).Style.TextAlignHorz = prt.AlignHorzEnum.Center '标题内容水平居中
        For r As Integer = i * prs To math.min(tb.Rows.Count - 1, ( i + 1) * prs - 1)
            For f As Integer = 0 To tb.Cols.Count 
                If f = 0 Then
                    rt.Cells(r - i * prs + 1, 0).Text = a
                Else
                    rt.Cells(r - i * prs + 1, c + 1).Text = tb.rows(r)(ColNames(c)) 
                End If 
                rt.Cells(r - i * prs + 1, c).Style.TextAlignHorz = prt.AlignHorzEnum.Center  
            Next
        Next
        
    Next
     a = a + 1 
    ra.Children.Add(rt) '将表格对象加入到报表中
    
    rx = New prt.RenderText
    rx.text = "--------------------------------------------------------------------------------------------------------------------------"
    rx.Style.FontBold = True '字体加粗
    rx.Style.FontSize = CStr(Tables("处方打印设置").Current("内容字体大小"))
    rx.Style.TextAlignHorz = prt.AlignHorzEnum.center '水平居中排列
    rx.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
    ra.Children.Add(rx) '加入到报表中
    
    If i = math.Ceiling(tb.Rows.Count / prs) - 1 Then'如果是最后一页
        For r As Integer = tb.Rows.Count To ( i + 1) * prs - 1 '补空行
            rt.Rows.Count = rt.Rows.Count + 1
            rt.Rows(rt.Rows.count - 1)(0).text = " "
        Next
    Else
        rt.BreakAfter = prt.BreakEnum.Page '否则换页
    End If
    
    If i < math.Ceiling(tb.Rows.Count / prs) - 1 Then
        rt.BreakAfter = prt.BreakEnum.Page
    End If
    doc.Body.Children.Add(ra)
Next


rx = New prt.RenderText
rx.text = "副数:" & Args(6) & "副" & "     合计金额:" & Args(7) & "元"

rx.Style.FontSize = CStr(Tables("处方打印设置").Current("表尾字体大小"))
rx.Style.TextAlignHorz = prt.AlignHorzEnum.center '水平居中排列
rx.Style.Spacing.Bottom = 1 '和下面的对象(表格)距离3毫米
doc.Body.Children.Add(rx) '加入到报表中
[此贴子已经被作者于2023/11/9 21:44:51编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109480 积分:557062 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/9 22:11:00 [只看该作者]

截图表数据和预览结果看一下,什么地方有问题

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


加好友 发短信
等级:七尾狐 帖子:1743 积分:16410 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/11/9 22:14:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:6.png
图片点击可在新窗口打开查看
第一个问题,序号没有按顺序排
第二个问题,最下面的线跑到第二页上了
第三个问题,怎么设置单价和金额设置成二位小数,不够二位用0占位

[此贴子已经被作者于2023/11/9 22:15:01编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109480 积分:557062 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/9 22:29:00 [只看该作者]

1、
                   rt.Cells(r - i * prs + 1, c + 1).Text = tb.rows(r)(ColNames(c)) 
                End If 
                rt.Cells(r - i * prs + 1, c).Style.TextAlignHorz = prt.AlignHorzEnum.Center  
            Next
     a = a + 1 
        Next
    Next
    ra.Children.Add(rt) '将表格对象加入到报表中

2、
    If i = math.Ceiling(tb.Rows.Count / prs) - 1 Then'如果是最后一页
        For r As Integer = tb.Rows.Count To ( i + 1) * prs - 1 '补空行
            rt.Rows.Count = rt.Rows.Count + 1
            rt.Rows(rt.Rows.count - 1)(0).text = " "
        Next
    Else
        rx.BreakAfter = prt.BreakEnum.Page '否则换页
    End If
    
    If i < math.Ceiling(tb.Rows.Count / prs) - 1 Then
        rx.BreakAfter = prt.BreakEnum.Page
    End If
    doc.Body.Children.Add(ra)
Next


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


加好友 发短信
等级:七尾狐 帖子:1743 积分:16410 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/11/9 22:39:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:7.png
图片点击可在新窗口打开查看
第一个问题改后,就这样了
第二个问题,没看出来老师改了哪里

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109480 积分:557062 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/9 22:54:00 [只看该作者]

1、
    rt.Style.TextAlignVert = prt.AlignVertEnum.Center '内容垂直居中
    rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
    rt.Style.FontSize = 11 '大体大小为16磅
    rt.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top
   
    For c As Integer = 0 To ColNames.Length - 1 '逐列设置和填入内容
        If c = 0 Then
            rt.Cells(0, 0).Text = "序号" 
        End If 
        rt.Cells(0, c + 1).Text = ColNames(c) '列名作为标题 
        rt.Cells(0, c).Style.TextAlignHorz = prt.AlignHorzEnum.Center '标题内容水平居中
    Next    
        

        For r As Integer = i * prs To math.min(tb.Rows.Count - 1, ( i + 1) * prs - 1)
            For f As Integer = 0 To tb.Cols.Count 
                If f = 0 Then
                    rt.Cells(r - i * prs + 1, 0).Text = a
                Else
                    rt.Cells(r - i * prs + 1, f +1).Text = tb.rows(r)(f) 
                End If 
                rt.Cells(r - i * prs + 1, f).Style.TextAlignHorz = prt.AlignHorzEnum.Center  
            Next
     a = a + 1 
        Next

    ra.Children.Add(rt) '将表格对象加入到报表中

2、不已经设置为红色字了吗,自己比较一下自己的代码

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


加好友 发短信
等级:七尾狐 帖子:1743 积分:16410 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/11/9 23:20:00 [只看该作者]

问题二真的没有看出来红字

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


加好友 发短信
等级:七尾狐 帖子:1743 积分:16410 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/11/9 23:24:00 [只看该作者]

就差问题二了,第二页的第一根横线想放在第一页的最下面
[此贴子已经被作者于2023/11/9 23:48:13编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109480 积分:557062 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/10 8:30:00 [只看该作者]

电脑颜色显示有问题?


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


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


加好友 发短信
等级:七尾狐 帖子:1743 积分:16410 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2023/11/10 9:24:00 [只看该作者]

真不好意思老师,我色盲,感谢

 回到顶部