以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]piao据设计相关问题,15:40更新了 有新问题,请老师看看!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=71351)

--  作者:huangfanzi
--  发布时间:2015/7/9 19:38:00
--  [求助]piao据设计相关问题,15:40更新了 有新问题,请老师看看!
我在项目中做的出入库单,没用关联表加EXCEL做,而是直接参考了票据设计中实战演练一来做,请问老师,我多页打印时,能像EXCEL那样做出 “第X页,共Y页”的效果吗?
[此贴子已经被作者于2015/7/10 15:42:26编辑过]

--  作者:大红袍
--  发布时间:2015/7/9 19:39:00
--  

 可以加入页眉页脚,如

 

Dim doc As PrintDoc = e.Form.GernatePrintDoc()
Dim rx As New prt.RenderTable
rx.Cells(0,0).Text = Date.Today
rx.Cells(0,1).Text = "抗震救灾专题"
rx.Cells(0,2).Text = "第[PageNo]页,共[PageCount]页"
rx.Cols(0).Style.TextAlignHorz = prt.AlignHorzEnum.Left
rx.Cols(1).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rx.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.right
rx.Style.Borders.Bottom = New prt.LineDef \'设置底边框
rx.CellStyle.Spacing.Bottom = 0.5 \'底端内容缩进0.5毫米
rx.Style.FontSize = 8 \'字体大小为8磅
Doc.PageHeader = rx \'作为页眉使用
doc.Preview() \'预览

 

http://www.foxtable.com/help/topics/1197.htm


--  作者:huangfanzi
--  发布时间:2015/7/9 19:45:00
--  
专业报表还没学过,暂时也不想研究,先照着改改算了,请问一下,上面的代码我加在什么地方,是加在 窗口中的控件 “打印”按钮中吗? 
--  作者:大红袍
--  发布时间:2015/7/9 20:05:00
--  
 是,打印按钮。
--  作者:huangfanzi
--  发布时间:2015/7/10 8:48:00
--  
老师,页眉或页脚上的左中右三个区域的字体大小能分开设置吗?
--  作者:大红袍
--  发布时间:2015/7/10 9:06:00
--  
Dim doc As PrintDoc = e.Form.GernatePrintDoc()
Dim rx As New prt.RenderTable
rx.Cells(0,0).Text = Date.Today
rx.cells(0,0).Style.Font = New Font("宋体",12,FontStyle.Bold Or FontStyle.Underline)
rx.Cells(0,1).Text = "抗震救灾专题"
rx.Cells(0,2).Text = "第[PageNo]页,共[PageCount]页"
rx.Cols(0).Style.TextAlignHorz = prt.AlignHorzEnum.Left
rx.Cols(1).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rx.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.right
rx.Style.Borders.Bottom = New prt.LineDef \'设置底边框
rx.CellStyle.Spacing.Bottom = 0.5 \'底端内容缩进0.5毫米
rx.Style.FontSize = 8 \'字体大小为8磅
Doc.PageHeader = rx \'作为页眉使用
doc.Preview() \'预览

--  作者:huangfanzi
--  发布时间:2015/7/10 10:06:00
--  
老师,我现在遇到二个票据设计问题
一是在窗口中的table表在窗口打开时字段标题是居中的,但一打印预览成了左对齐了
二是我设置的票据是用连打纸哪种,宽度与高分别为241与139.4,我在窗口的页面设计中设置了这个值,但窗口的大小并没有变,这就导致我不能将table排版到合适宽度,处理这个问题的思路应该是什么?
谢谢!

--  作者:大红袍
--  发布时间:2015/7/10 11:13:00
--  

1、用代码处理一下

 

Dim doc As PrintDoc = e.Form.GernatePrintDoc()

For Each c As object In Doc.Body.Children
    If c.Gettype.Name Like "*Table*" Then
        Dim t As prt.RenderTable = c
        t.Rows(0).Height = 30
        t.Rows(0).Style.BackColor = Color.Red
        t.Rows(0).Style.Font = New Font("宋体", 12, FontStyle.Bold) \'设置字体
        For i As Integer = 0 To t.Cols.Count - 1
            t.Cells(0,i).Style.TextAlignHorz = prt.AlignHorzEnum.Center
        Next
    End If
Next

doc.Preview


--  作者:大红袍
--  发布时间:2015/7/10 11:14:00
--  

 你设置的是纸张宽度和高度。

 

 如果要设置窗口的宽度和高度,就在窗口的属性里面设置窗口的宽高和控件的宽高。


--  作者:huangfanzi
--  发布时间:2015/7/10 15:30:00
--  
基本上窗口打印搞成了,感谢老师的指导,但又有二个新问题了,请老师看看!
第一,当我选中窗口中的合计行时,点打印按钮就出错了,图如下:

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

图片点击可在新窗口打开查看此主题相关图片如下:qq截图2.jpg
图片点击可在新窗口打开查看
以下是打印按钮的代码:
Dim doc As PrintDoc = e.Form.GernatePrintDoc()
Dim rx As New prt.RenderTable
rx.Cells(0,0).Text = "上海金属新材料有限公司"
rx.Cells(1,0).Text = "原料入库通知单"
rx.Cols(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center \'设置居中
rx.CellStyle.Spacing.Bottom = 0.5 \'底端内容缩进0.5毫米
rx.Cells(0,0).Style.FontSize = 16 \'设置字体大小
rx.Cells(1,0).Style.FontSize = 14 \'设置字体大小
Doc.PageHeader = rx \'作为页眉使用

Dim rx1 As New prt.RenderTable
rx1.Cells(0,0).Text = "制单:" &  CurrentTable.Current("录入人")
rx1.Cells(0,1).Text = "制单时间:" &  CurrentTable.Current("录入时间")
rx1.Cells(0,2).Text = "打印日期:" & Date.Today
rx1.Cells(1,0).Text = " "
rx1.Cells(2,0).Text = "一式四联: 【白色】 财务             【红色】 统计"
rx1.Cells(2,1).Text = "【蓝色】 营销             【黄色】 仓库 "
rx1.Cells(2,2).Text = "第[PageNo]页,共[PageCount]页"
rx1.Cols(0).Style.TextAlignHorz = prt.AlignHorzEnum.Left
rx1.Cols(1).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rx1.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.right
rx1.CellStyle.Spacing.Bottom = 0.5 \'底端内容缩进0.5毫米
rx1.Style.FontSize = 8 \'字体大小为8磅
Doc.PageFooter = rx1 \'作为页脚使用

doc.Preview() \'预览

第二,我窗口中所看到的汇总行会自动合并相关单元格,可一打印后,就不合并了,导致排版出了问题,如下图:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图3.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2015/7/10 15:30:13编辑过]