Foxtable(狐表)用户栏目专家坐堂 → 报表问题,请教老师们


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

主题:报表问题,请教老师们

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


加好友 发短信
等级:四尾狐 帖子:824 积分:6288 威望:0 精华:0 注册:2012/3/1 3:17:00
报表问题,请教老师们  发帖心情 Post By:2012/10/19 22:55:00 [只看该作者]

上传项目先,在命令窗口输入以下代码发现表中的内容没完整,图一为执行后的预揽,图二为表中内容,问题出在哪了,请教老师们

Dim doc As New PrintDoc '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
Dim rx As New prt.RenderText '定义一个文本对象
doc.PageSetting.Width = 150 '纸张宽度为100毫米
doc.PageSetting.Height = 190 '纸张高度为120毫米
Doc.PageSetting.TopMargin = 40 '设置上边距
rx.text = "订   货"
rx.Style.FontBold = True '字体加粗
rx.Style.FontSize = 16 '大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
rx.Style.Spacing.Bottom = 10 '和下面的对象(表格)距离20毫米
doc.Body.Children.Add(rx) '加入到报表中

rt = New prt.RenderTable
rt.Style.FontSize = 14 '大体大小为16磅
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
rt.Style.TextAlignVert = prt.AlignVertEnum.Center
rt.CellStyle.Spacing.All = 1 '单元格内容缩进0.1毫米
rt.Cols.Count = 5
With Tables("日期.内容")
    For r As Integer = 0 To .Rows.Count - 1 '遍历关联表每一行
        rt.Cells(r+1,0).Text = .rows(r)("产品名称")
        rt.Cells(r+1,1).Text = .rows(r)("规格")
        rt.Cells(r+1,2).Text = .rows(r)("厚度")
        rt.Cells(r+1,3).Text = .rows(r)("数量")
        rt.Cells(r+1,4).Text = .rows(r)("备注")
    Next
End With
doc.Body.Children.Add(rt)
rx = New prt.RenderText '创建文本对象
rx.Style.FontSize = 12 '大体大小为16磅
rx.Style.FontBold = True '字体加粗
rx.Style.Spacing.Top = 3
rx.Text = "" & Tables("日期").Current("日期")
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Right  '水平靠右排列
doc.Body.Children.Add(rx)
Doc.PrinterName = "DPK770E"
doc.Preview

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.zip


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

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

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/10/20 9:21:00 [只看该作者]

 楼主,显示的值,并不是实际的值,你看看DrawCell的代码。

If e.Col.Name = "规格" AndAlso e.Text > "" Then
     e.text = e.text & "cm"
End If
If e.Col.Name = "厚度" AndAlso e.Text > "" Then
     e.text = e.text & "C"
End If
If e.Col.Name = "数量" AndAlso e.Text > "" Then
     e.text = e.text & "件"
End If

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


加好友 发短信
等级:四尾狐 帖子:824 积分:6288 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2012/10/20 20:53:00 [只看该作者]

图片点击可在新窗口打开查看那代码该怎么修改,俺的学习很慢,求请教,谢谢了

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/10/20 20:59:00 [只看该作者]

直接加上就行了吧?

 

……

With Tables("日期.内容")
    For r As Integer = 0 To .Rows.Count - 1 '遍历关联表每一行
        rt.Cells(r+1,0).Text = .rows(r)("产品名称")
        rt.Cells(r+1,1).Text = .rows(r)("规格") & "cm"
        rt.Cells(r+1,2).Text = .rows(r)("厚度") & "C"
        rt.Cells(r+1,3).Text = .rows(r)("数量") & "件"
        rt.Cells(r+1,4).Text = .rows(r)("备注")
    Next
End With

……


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


加好友 发短信
等级:四尾狐 帖子:824 积分:6288 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2012/10/20 21:53:00 [只看该作者]

图片点击可在新窗口打开查看这样也行?图片点击可在新窗口打开查看太高兴了,又学会一招,感谢两位老师的点拨

 回到顶部