Foxtable(狐表)用户栏目专家坐堂 → 打印凭证时的表头如何居中


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

主题:打印凭证时的表头如何居中

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/16 18:05:00 [显示全部帖子]

以下是引用发财在2018/11/16 17:59:00的发言:

请问老师:打印凭证时,上述表头如何居中?

 

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
For Each c As Object In doc.body.children
    If typeof c Is prt.RenderTable Then
        c.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行内容水平居中
        c.Rows(1).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行内容水平居中
    End If
Next
doc.Preview()

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/19 15:05:00 [显示全部帖子]

以下是引用发财在2018/11/19 14:51:00的发言:

老师,我试来,不行的,是否可以帮我改下?

 

 

不可能不行。具体实例发上来测试。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/19 15:35:00 [显示全部帖子]

你要怎么居中,你直接移动控件的位置不就好了么?

 

 

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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/19 16:21:00 [显示全部帖子]

Dim doc As PrintDoc = e.Form.GernatePrintDoc(e.Form.controls("panel1"))
'Dim doc As PrintDoc = e.Form.GernatePrintDoc()
For Each c As Object In doc.body.children
    If typeof c Is prt.RenderTable Then
        c.Cols(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center
        c.Cols(1).Style.TextAlignHorz = prt.AlignHorzEnum.Center
        c.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.Center
   End If
Next
doc.Preview()

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/22 8:57:00 [显示全部帖子]

以下是引用发财在2018/11/22 7:31:00的发言:
老师上述代码只能表格内容居中,但表头不能居中

 

3楼、9楼,都绝对没有问题。请认真测试。出问题的截图发上来看看。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/5 16:27:00 [显示全部帖子]

Dim doc As PrintDoc = e.Form.GernatePrintDoc(e.Form.controls("Panel1"))
'Dim doc As PrintDoc = e.Form.GernatePrintDoc()
For Each c As Object In doc.body.children
    If typeof c Is prt.RenderTable Then
        'c.cols(1).Width = 80 & "mm"
        'c.Rows(c.Rows.Count-1).Height = 10 & "mm" '设置首行高度为13mm
        c.Rows(0).Height = 10 & "mm"
        c.Rows(1).Height = 8 & "mm"
        c.Rows(2).Height = 8 & "mm"
        c.Rows(3).Height = 8 & "mm"
        c.Rows(4).Height = 8 & "mm"
        c.Rows(5).Height = 8 & "mm"
        c.Rows(6).Height = 8 & "mm"
        For n As Integer = 1 To 5
            c.cells(0,n).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行内容水平居中
            c.cols(n).Style.TextAlignHorz = prt.AlignHorzEnum.Center
            c.rows(n-1).Style.Font = New Font("宋体", 10,FontStyle.bold) '设置文本对象的字体
        Next
c.Style.GridLines.Horz = new Prt.LineDef(0, Color.white)
c.Style.GridLines.Vert = new Prt.LineDef(0, Color.white)
    End If
Next
doc.PageSetting.Width = 210 '纸张宽度为210毫米
doc.PageSetting.Height = 210 '纸张高度为120毫米
Doc.PageSetting.LeftMargin = 1 '设置左边距
Doc.PageSetting.RightMargin = 1 '设置右边距
doc.AutoRotate = False '禁止自动旋转打印内容
doc.PageSetting.Landscape = False '横向打印
'doc.Preview()
Doc.print

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/5 16:48:00 [显示全部帖子]


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/5 18:03:00 [显示全部帖子]

以下是引用发财在2018/12/5 17:57:00的发言:
老师:请问如果另一界面调用数据表时,该数据表自动隐藏,如何做才不令该隐藏呢?

 

参考

 

http://www.foxtable.com/webhelp/scr/1906.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/7 15:04:00 [显示全部帖子]

这个是新版的bug,之前不会这样的。改一个属性

 

e.Form.Controls("Label2").printable = False
Dim doc As PrintDoc = e.Form.GernatePrintDoc()
For Each c As Object In doc.body.children
    If typeof c Is prt.RenderTable Then
        c.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行内容水平居中
    End If
Next

doc.Preview()


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/9 16:44:00 [显示全部帖子]

参考代码

 

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
Dim ls As new List(Of Object)
For Each c As Object In doc.body.children
    ls.add(c.clone)
    If typeof c Is prt.RenderTable Then
        c.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行内容水平居中
    End If
Next
Dim ra As new prt.RenderArea
For Each s As object In ls
    ra.children.add(s)
Next
ra.x = 10
ra.y = 100
Doc.body.Children.add(ra)
doc.Preview()


 回到顶部
总数 11 1 2 下一页