Foxtable(狐表)用户栏目专家坐堂 → 专业报表的问题,版主帮帮帮忙


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

主题:专业报表的问题,版主帮帮帮忙

帅哥哟,离线,有人找我吗?
雨中的泪
  41楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2009/12/28 16:50:00 [只看该作者]

所以我的头都晕了
要版主你帮帮忙了


 回到顶部
美女呀,离线,留言给我吧!
yangming
  42楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/12/28 17:26:00 [只看该作者]

这样试试

Dim Q As  String
Q = e.Form.Controls("输入单位名称").Value
if Q = "" then
    MessageBox.Show("请输入你需要生成报表的『单位名称』!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return       '终止代码的执行
else
    Dim ck As WinForm.ComBoBox = e.Form.Controls("输入单位名称")
    With CurrentTable
        Dim r As Integer
        r = .FindRow("[单位名称] = '" & ck.value & "'",0, True ) '从当前行开始查找
        If r >= 0 Then '如果找到的话
            .Position = r '定位到找到的行.
        Else
            MessageBox.Show("数据库中不存在你输入的『单位名称』数据,请核实!!!", "提示")
            Return       '终止代码的执行
        End If
    End with
    Tables("调标表").Filter = "[单位名称] = '" & ck.value & "'"
    '报表设计
    Dim doc As New PrintDoc '定义一个新报表
    Dim rt As New prt.RenderTable '定义一个新表格
    Dim rt1 As New prt.RenderTable() '定义一个表格对象
    Dim tb as Table = Tables("调标表")
    Dim ColNames As New List(Of String)
    For Each cl As Col In tb.Cols '排除隐藏列
        If cl.Visible Then
            ColNames.Add(cl.Name)
        End If
    Next
    '设置表头
    Dim rs As New prt.RenderText() '定义一个文本对象
    rs.Text = "桐梓县机关(参公)单位工作人员地方津贴补贴调标审批花名册" '设置文本对象的内容
    rs.Style.TextAlignHorz = prt.AlignHorzEnum.Center '文本内容水平居中
    rs.Style.Font = New Font("宋体", 20 , FontStyle.Bold) '设置文本对象的字体
    rs.style.Spacing.Bottom = 5 '和以下对象保持5毫米的距离
    Doc.PageHeader = rs '作为页眉使用
   
    '设置标题
    Dim rs1 As prt.RenderText '定义一个文本对象
    dim s,s1 as string
    s = "填报单位(章): " & Q & " ".PadLeft(15) &" 审批人:  "& " ".PadLeft(15) &" 人事部门审核(章):"& " ".PadLeft(15) &" 单位:元/月"
    s1= "  单位负责人:"& " ".PadLeft(70) & "填报人:"&" ".PadLeft(70) & "填报日期:"
    rt.Width = "Auto" '表格宽度为自动,也就是等于各列设置宽度之和
    rt.CanSplitHorz = True '表格宽度超出页宽时,可以水平换页
    rt.Style.Font = tb.Font
    rt.Cells(0,0).SpanCols = ColNames.Count
    rt.Cells(0,0).Text = s
    For c As Integer = 0 To ColNames.Count - 1 '逐列设置和填入内容
        rt.Cells(1,c).Text = ColNames(c) '列名作为标题
        rt.Cells(1,c).Style.TextAlignHorz = prt.AlignHorzEnum.Center '标题内容水平居中
        rt.Cells(1,c).Style.TextAlignVert = prt.AlignVertEnum.Center '垂直居中
        rt.Cols(c).Width = tb.Cols(ColNames(c)).PrintWidth '列宽等于实际列宽
        If tb.Cols(ColNames(c)).IsNumeric Orelse tb.Cols(ColNames(c)).IsDate Then '如果是数值或日期列
            rt.Cols(c).Style.TextAlignHorz = prt.AlignHorzEnum.Right '数据水平靠右
        End If
        For r As integer = 0 To tb.Rows.Count -1 '开始填入该列内容
            rt.Cells(r + 2, c).Text = tb.Rows(r)(ColNames(c))
        Next
    Next
    rt.Style.Gridlines.All = New prt.Linedef(Color.Gray) '灰色网格线
    rt.Cells(0,0).Style.Gridlines.Left = New prt.Linedef(Color.White)
    rt.Cells(0,0).Style.Gridlines.Right = New prt.Linedef(Color.White)
    rt.Cells(0,0).Style.Gridlines.Top = New prt.Linedef(Color.White)
    rt.CellStyle.Spacing.All = 0.5 '单元格内距设为0.5毫米
    rt.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Left
    rt.Rows(0).Style.FontSize = 12
   
    rt.RowGroups(0,2).Header = prt.TableHeaderEnum.All '利用行组,将第一行设为表头
    doc.Body.Children.Add(rt) '将表格加入到报表
    rs1 = New prt.RenderText '设置文本对象的内容
    rs1.Text = s1 '设置文本内容
    rs1.Style.TextAlignHorz = prt.AlignHorzEnum.Left '居左
    rs1.Style.Padding.top = 1 '底端内容缩进1毫米
    rs1.Style.FontSize = 12 '字体大小为12磅
    Doc.PageFooter = rs1 '作为页脚使用
    rt.Height = 200
    rt.Rows(1).Height = 12
    Doc.PageSetting.LeftMargin = 8 '设置左边距
    Doc.PageSetting.RightMargin = 8 '设置右边距
    Doc.PageSetting.TopMargin = 15 '设置上边距
    Doc.PageSetting.BottomMargin = 10 '设置下边距
   
    doc.PageSetting.Landscape = True
    doc.Preview()
end if
Tables("调标表").Filter =""

 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  43楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2009/12/28 17:54:00 [只看该作者]

表头偏得太远了
而且如何实现自动向下换页?
谢谢
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
yangming
  44楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/12/28 17:58:00 [只看该作者]

什么偏的太远?不明白

 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  45楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2009/12/29 8:20:00 [只看该作者]

填报单位、单位负责人等,和表的位置偏得太远!!!
如何实现向下自动换页!!!
如何设置每页指定打印多少行和行高!!!
谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  46楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2009/12/29 9:40:00 [只看该作者]


填报单位、单位负责人等,和表的位置偏得太远!!!
如何实现向下自动换页!!!
如何设置每页指定打印多少行和行高!!!
谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  47楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2009/12/29 10:49:00 [只看该作者]

填报单位、单位负责人等,和表的位置偏得太远!!!
如何实现向下自动换页!!!
如何设置每页指定打印多少行和行高!!!
谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  48楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2009/12/29 11:20:00 [只看该作者]

填报单位、单位负责人等,和表的位置偏得太远!!!
如何实现向下自动换页!!!
如何设置每页指定打印多少行和行高!!!
谢谢

 回到顶部
美女呀,离线,留言给我吧!
yangming
  49楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/12/29 12:06:00 [只看该作者]

参看此贴

http://www.foxtable.com/support/dispbbs.asp?BoardID=2&ID=4954&replyID=&skin=1

 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  50楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2009/12/29 14:54:00 [只看该作者]

还是不很明白呀

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