Foxtable(狐表)用户栏目专家坐堂 → 报表


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

主题:报表

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


加好友 发短信
等级:八尾狐 帖子:1936 积分:14844 威望:0 精华:0 注册:2016/4/28 9:58:00
报表  发帖心情 Post By:2017/4/6 21:21:00 [只看该作者]

Dim doc As New PrintDoc
Dim rt As Prt.RenderTable
Dim rx As prt.RenderText
Dim tbl= Tables("学生信息")
tbl.sort = "班级,学生姓名"
doc.PageSetting.Landscape = True
Dim Rows As List(Of DataRow)
Dim Regions As List(Of String) = tbl.DataTable.GetValues("班级") ''''改后句子
Dim rm As prt.RenderEmpty
Doc.PageSetting.LeftMargin = 5 '设置左边距
Doc.PageSetting.RightMargin = 5 '设置右边距
Doc.PageSetting.TopMargin = 5 '设置上边距
Doc.PageSetting.BottomMargin = 5 '设置下边距
For Each region As String In Regions
    rm = new prt.RenderEmpty '定义一个新的空对象
    rm.BreakBefore = prt.BreakEnum.Page '打印前换页
    doc.Body.Children.Add(rm)
    rx = New prt.RenderText
    rx.Style.Font = New Font("黑体", 16, FontStyle.Bold) '
    rx.Style.FontBold = True
    rx.Style.Spacing.Bottom = 2
    rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center
    rx.Text =  Region & "学生基本信息表"
    doc.Body.Children.Add(rx)
    rt = New prt.RenderTable
    rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中
    rt.Style.TextAlignVert = prt.AlignVertEnum.Center '垂直居中
    rt.Style.GridLines.All = New prt.LineDef(0.3,Color.black)
    ''rt.Width = "auto"
    rt.Style.Font = New Font("宋体", 8)
    Rows = tbl.DataTable.Select("[班级] ='" & region &  "'", "学生姓名")
    For c As Integer = 2 To tbl.Cols.Count -1 '
            If tbl.Cols(c).Visible Then
                rt.Cells(0,c-2).Text = tbl.Cols(c).Name
            End If
            Dim r As Integer
            For r = 0 To Rows.Count -1
                rt.Rows(0).Height = 5
                rt.Rows(r+1).height = 4
                rt.Cols(0).Width = 15
rt.Cols(4).Width = 60
rt.Cols(3).Width = 40
rt.Cols(2).Width = 36
                If tbl.Cols(c).Visible Then
                    rt.Cells(r+1,c-2).Text = rows(r)(tbl.Cols(c).Name)
                End If
            Next
    Next
    rt.RowGroups(0,1).Header = prt.TableHeaderEnum.All
    doc.Body.Children.Add(rt)
Next
doc.preview()

 

 

老师,请问窗口中表格有过滤,但这个报表打印没过滤掉记录,请问如何改?谢谢


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/6 21:29:00 [只看该作者]

Dim Regions As List(Of String) = tbl.DataTable.GetValues("班级") ''''改后句子

 

改成

 

Dim Regions As List(Of String) = tbl.DataTable.GetValues("班级", tbl.Filter) ''''改后句子

 

-----------------

 

Rows = tbl.DataTable.Select("[班级] ='" & region &  "'", "学生姓名")

 

改成

 

Rows = tbl.DataTable.Select("[班级] ='" & region &  "' and (" & iif(tbl.Filter>"", tbl.Filter, "1=1") & ")", "学生姓名")


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


加好友 发短信
等级:八尾狐 帖子:1936 积分:14844 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2017/4/6 21:58:00 [只看该作者]

谢谢,非常完美

 回到顶部