Foxtable(狐表)用户栏目专家坐堂 → 请教如何消取预览中表体没内容但多出的页眉页脚


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

主题:请教如何消取预览中表体没内容但多出的页眉页脚

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


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

 你可以直接设置ndoc的页面信息

 

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

 


 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2017/2/20 17:30:00 [只看该作者]

代码写成这样,第一页表头的空白行高太大了,第二页如果显示图片,表头高度又不够,应如何调?

Dim ndoc As new PrintDoc
Dim ra_1 As new prt.RenderArea
Dim ra_2 As new prt.RenderArea
Dim ra_3 As new prt.RenderArea
Dim flag As Boolean = False
Dim rt As New prt.RenderText '定义一个文本对象
ndoc.PageSetting.LeftMargin = 5 '设置左边距
ndoc.PageSetting.RightMargin = 3 '设置右边距
ndoc.PageSetting.TopMargin = 10 '设置上边距
ndoc.PageSetting.BottomMargin = 20 '设置下边距
rt.Width = "Parent.Width" '对象宽度等于页面宽度
rt.Height = "Parent.Height" '对象高度等于页面高度
rt.Style.Borders.All = New prt.Linedef(1, Color.Red) '设置边框
Dim doc As PrintDoc = e.Form.GernatePrintDoc()
'ndoc.Body.Children.Add(rt) '将文本对象加入到报表
For Each c As object In Doc.Body.Children
    If c.Gettype.name Like "*RenderText*" Then
        If flag = False Then
            ra_1.Children.Add(c.Clone)
            Dim nrt = c.clone
            nrt.height = 0
            ra_2.Children.Add(nrt)
        Else
            ra_2.Children.Add(c.clone)
        End If
    ElseIf c.Gettype.name Like "*RenderTable*" Then
        ra_3.Children.Add(c.Clone)
        Dim nrt = c.clone
        nrt.height = 0
        ra_2.Children.Add(nrt)
        flag = True
    End If
Next
ndoc.Body.Children.Add(ra_1)
ndoc.Body.Children.Add(ra_3)
ndoc.Body.Children.Add(ra_2)

Dim rx As New prt.RenderTable
Dim rj As New prt.RenderTable
Dim rm As New prt.RenderImage '定义一个图片对象
rm.Image = GetImage("J:\_\管理项目\冲压车间工资表\捕获000_jpg") '设置图片
rm.Style.ImageAlign.StretchHorz = False '禁止图片水平拉伸
rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '居中显示
rx.cells(0,0).RenderObject = rm
rx.cells(0,0).SpanCols = 10
'设置主标题
rx.Cells(1,1).text = "冲压车间生产日报表"
rx.Cells(1,1).SpanCols = 10 '合并第一行全部单元格,用于显示主标题
rx.Cells(1,1).Style.TextAlignHorz = prt.AlignHorzEnum.Center '主标题居中
rx.Cells(1,1).Style.Font = New Font("宋体", 16, FontStyle.Bold) '设置主标题字体
rx.Rows(1).Height = 8 '设置第二行的高度,拉开和表格主体的距离.

''设置副标题
rx.Cells(2,6).Text = e.Form.Controls("DateTimePicker1").text
rx.Cells(2,6).SpanCols = 2 '合并地二行全部单元格,用于显示副标题
'副标题内容" '通过左边空格数量来调整副标题位置
rx.Cols(1).Style.TextAlignHorz = prt.AlignHorzEnum.Center '副标题内容居中
rx.Rows(0).Height = 6 '设置第二行的高度,拉开和表格主体的距离.
rx.Cells(2,11).Text = "第[PageNo]页,共[PageCount]页"
rx.Cells(2,11).SpanCols = 2 '合并地二行全部单元格,用于显示副标题
rx.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.right
rj.Cells(0,0).Text = "车间主管签名:"
rj.Cells(0,1).Text = "副总审核签名:"
rj.Cells(0,2).Text = "打印时间:" & Date.Now()
rj.Cols(0).Style.TextAlignHorz = prt.AlignHorzEnum.left
rj.Cols(1).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rj.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.right
rx.Style.FontSize = 11 '字体大小为8磅
rj.Style.FontSize = 11 '字体大小为8磅
nDoc.PageHeader = rx '作为页眉使用
ndoc.PageFooter = rj
ndoc.PageSetting.Landscape = True '横向打印
ndoc.Preview()

 

 

[此贴子已经被作者于2017/2/20 20:29:49编辑过]

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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:冲压车间工资表2.zip


 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2017/2/20 21:02:00 [只看该作者]

 
应该是我用红色标注了的代码有问题,我的窗口里没panel1这控件啊,你要返回哪个控件?

Dim ndoc As new PrintDoc
Dim ra_1 As new prt.RenderArea
Dim ra_2 As new prt.RenderArea
Dim ra_3 As new prt.RenderArea
Dim flag As Boolean = False
Dim rt As New prt.RenderText '定义一个文本对象
ndoc.PageSetting.LeftMargin = 5 '设置左边距
ndoc.PageSetting.RightMargin = 3 '设置右边距
ndoc.PageSetting.TopMargin = 10 '设置上边距
ndoc.PageSetting.BottomMargin = 20 '设置下边距
rt.Width = "Parent.Width" '对象宽度等于页面宽度
rt.Height = "Parent.Height" '对象高度等于页面高度
rt.Style.Borders.All = New prt.Linedef(1, Color.Red) '设置边框
Dim doc As PrintDoc = e.form.GernatePrintDoc(e.Form.controls("panel1"))
For Each c As object In Doc.Body.Children
    If c.Gettype.name Like "*RenderText*" Then
        If flag = False Then
            ra_1.Children.Add(c.Clone)
            Dim nrt = c.clone
            nrt.height = 0
            ra_2.Children.Add(nrt)
        Else
            ra_2.Children.Add(c.clone)
        End If
    ElseIf c.Gettype.name Like "*RenderTable*" Then
        Dim t = c.clone
        t.y = 0
        ra_3.Children.Add(t)

        Dim nrt = c.clone
        nrt.height = 0
        ra_2.Children.Add(nrt)
        flag = True
    End If
Next
ra_3.Style.Padding.All = 0
ra_3.Style.Spacing.All = 0
ndoc.Body.Children.Add(ra_3)

Dim rx As New prt.RenderTable
Dim rj As New prt.RenderTable
Dim rm As New prt.RenderImage '定义一个图片对象
rm.Image = GetImage("J:\_\管理项目\冲压车间工资表\捕获000_jpg") '设置图片
rm.Style.ImageAlign.StretchHorz = False '禁止图片水平拉伸
rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '居中显示
rx.cells(0,0).RenderObject = rm
rx.cells(0,0).SpanCols = 10
'设置主标题
rx.Cells(1,1).text = "冲压车间生产日报表"
rx.Cells(1,1).SpanCols = 10 '合并第一行全部单元格,用于显示主标题
rx.Cells(1,1).Style.TextAlignHorz = prt.AlignHorzEnum.Center '主标题居中
rx.Cells(1,1).Style.Font = New Font("宋体", 16, FontStyle.Bold) '设置主标题字体
rx.Rows(1).Height = 8 '设置第二行的高度,拉开和表格主体的距离.

''设置副标题
rx.Cells(2,6).Text = e.Form.Controls("DateTimePicker1").text
rx.Cells(2,6).SpanCols = 2 '合并地二行全部单元格,用于显示副标题
'副标题内容" '通过左边空格数量来调整副标题位置
rx.Cols(1).Style.TextAlignHorz = prt.AlignHorzEnum.Center '副标题内容居中
rx.Rows(0).Height = 6 '设置第二行的高度,拉开和表格主体的距离.
rx.Cells(2,11).Text = "第[PageNo]页,共[PageCount]页"
rx.Cells(2,11).SpanCols = 2 '合并地二行全部单元格,用于显示副标题
rx.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.right
rj.Cells(0,0).Text = "车间主管签名:"
rj.Cells(0,1).Text = "副总审核签名:"
rj.Cells(0,2).Text = "打印时间:" & Date.Now()
rj.Cols(0).Style.TextAlignHorz = prt.AlignHorzEnum.left
rj.Cols(1).Style.TextAlignHorz = prt.AlignHorzEnum.Center
rj.Cols(2).Style.TextAlignHorz = prt.AlignHorzEnum.right
rx.Style.FontSize = 11 '字体大小为8磅
rj.Style.FontSize = 11 '字体大小为8磅
nDoc.PageHeader = rx '作为页眉使用
ndoc.PageFooter = rj
ndoc.PageSetting.Landscape = True '横向打印
ndoc.Preview()
[此贴子已经被作者于2017/2/21 10:35:26编辑过]

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


加好友 发短信
等级:超级版主 帖子:105925 积分:538688 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/20 22:09:00 [只看该作者]

直接使用23楼的项目吧,为了方便代码的处理,已经把窗口的控件放到一个panel里了。

或者你把23楼的窗口导出来,还原到你的项目中:http://www.foxtable.com/webhelp/scr/2413.htm

 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2017/2/20 22:47:00 [只看该作者]

  直接用你23楼的文件,预览右边都没了边框了,我调table1里的宽度还是不行。

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


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

调整一下显示列的宽度


姓名|60|产品名称|130|生产工序|80|备注|200|订单号|120|生产形式|80|数量|70|废品数量|80|计时时间|80|其他|60

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


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

以下是引用意悠心轻在2017/2/20 22:47:00的发言:
  直接用你23楼的文件,预览右边都没了边框了,我调table1里的宽度还是不行。

 

你可以不加panel,然后把代码改成 Dim doc As PrintDoc = e.Form.GernatePrintDoc()


 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2017/2/21 10:32:00 [只看该作者]

  我调打印模板中的table1控件就是调显示的隔距,可能没调到合适数值,一直显示少了右边的边框,直接用你的项目,打开打印模板窗口后不能全显列数,窗口下面没横拉条把列数全显,只有调整好显示列数值在预览状态下才全显勾选的列数,但在窗口状态依然看不到后面的列,用你早上回的代码,关闭预览窗口后再弹出一个
图片点击可在新窗口打开查看此主题相关图片如下:捕获1131.jpg
图片点击可在新窗口打开查看空白的预览窗口,始终不理想。

 回到顶部
美女呀,离线,留言给我吧!
意悠心轻
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:512 积分:3358 威望:0 精华:0 注册:2016/1/31 16:04:00
  发帖心情 Post By:2017/2/21 10:34:00 [只看该作者]

logo图片,复制了图片路径了始终不显示!

 回到顶部
总数 57 上一页 1 2 3 4 5 6 下一页