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


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

主题:专业报表打印

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


加好友 发短信
等级:一尾狐 帖子:405 积分:3572 威望:0 精华:0 注册:2014/1/8 17:12:00
专业报表打印  发帖心情 Post By:2017/3/23 8:48:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
Dim doc As New PrintDoc '定义一个新报表

For Each r1 As Row In  Tables("样品派工单").GetCheckedRows
    Dim rx As prt.rendertext
    rx = New prt.RenderText
    rx.text = "样品派工单"
    rx.Style.FontBold = True '字体加粗
    rx.Style.FontSize = 16 '大体大小为16磅
    rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
    rx.Style.Spacing.Bottom = 3 '和下面的对象(表格)距离3毫米
    doc.Body.Children.Add(rx) '加入到报表中
    rx = New prt.RenderText
    rx.Style.FontSize = 16
    rx.Style.FontBold = True
    rx.Style.Spacing.Bottom = 5
    rx.Text = "编号: " & r1("编号") & "   产品货号: " & r1("产品货号") &  "    数量: " & r1("数量")
    doc.Body.Children.Add(rx)

    Dim rt As New prt.RenderTable '定义一个新表格
    cmd.CommandText = "S ELECT * From {样品派工明细} where 编号= '"& r1("编号") &"'"
    dt = cmd.ExecuteReader()
    Dim ColNames As String() = New String(){"部件名称", "材料名称", "规格","部件数量",“用量”,“单位”}

    这里代码应该如何写。



    rt.SplitVertBehavior = prt.SplitBehaviorEnum.Never 
    rt.Style.Gridlines.All = New prt.Linedef(Color.Gray) '灰色网格线
    rt.CellStyle.Spacing.All = 1 '内容距离网格线1毫米
    rt.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行内容水平居中
    doc.Body.Children.Add(rt) 
       
    rx = New prt.RenderText
    rx.Style.FontSize = 16
    rx.Style.FontBold = True
    rx.Style.Spacing.Bottom = 5
    rx.Text = "下单人: " & r1("操作员")
    doc.Body.Children.Add(rx)


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/23 8:52:00 [只看该作者]

你要做什么功能?完成什么逻辑?

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


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

 做个实例上来,说明要做什么效果。

 

 


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


加好友 发短信
等级:一尾狐 帖子:405 积分:3572 威望:0 精华:0 注册:2014/1/8 17:12:00
  发帖心情 Post By:2017/3/23 9:55:00 [只看该作者]

版主,这里我后台数据打印,指定字段。  
标红字代码不会写。
Dim rt As New prt.RenderTable '定义一个新表格
    cmd.CommandText = "S ELECT * From {样品派工明细} where 编号= '"& r1("编号") &"'"
    dt = cmd.ExecuteReader()
    Dim ColNames As String() = New String(){"部件名称", "材料名称", "规格","部件数量",“用量”,“单位”}

    这里代码应该如何写。

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


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

Dim drs As List(of DataRow) = dt.Select("")
For c As Integer = 0 To ColNames.Length - 1 '逐列设置和填入内容
    rt.Cells(0,c).Text = ColNames(c) '列名作为标题
    For r As Integer = 0 To drs.Count -1 '开始填入该列内容
        rt.Cells(r + 1, c).Text = drs(r)(ColNames(c))
    Next
Next

 回到顶部