Foxtable(狐表)用户栏目专家坐堂 → 有一个问题要请教各位老大,谢谢


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

主题:有一个问题要请教各位老大,谢谢

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


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
有一个问题要请教各位老大,谢谢  发帖心情 Post By:2010/4/29 21:57:00 [只看该作者]

想实现一张按单位的汇总表,就是无法实现,请各位老大帮帮忙  谢谢


这张汇总表的“序号”和“单位名称”两列由“单位名称”表中的“单位名称”生成;
后面的几列各单元格的数据从“调标表”中按照“单位名称”汇总生成!!!
这张表的行数是动态的,因为每个汇总管理股室所管理的单位是不定的!!!
图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:实例一.table


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


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

'''
Dim doc As New PrintDoc() '定义一个报表
doc.PageSetting.PaperKind = 8 '纸张类型为A3
doc.PageSetting.Landscape = True '横向打印
doc.AutoRotate = False '禁止自动旋转打印内容
Doc.PageSetting.LeftMargin = 30 '设置左边距
Doc.PageSetting.RightMargin = 25 '设置右边距
Doc.PageSetting.TopMargin = 30 '设置上边距
Doc.PageSetting.TopMargin = 25 '设置下边距
'设置标题
Dim rs As New prt.RenderTable()'定义一个表格
'设置各位置的网格线
rs.Style.GridLines.All = New Prt.LineDef(0.4, Color.Black)
rs.Style.GridLines.Horz = new Prt.LineDef(0.3,Color. Black)
rs.Style.GridLines.Vert = new Prt.LineDef(0.3,Color. Black)
Rs.Width = 369 '设置表格的宽度为369毫米
rs.rows.count = 2  '设置总行数
rs.cols.count = 8  '设置总列数
Rs.Rows(0).Height =18 '设置表格第一行的高度为18毫米
Rs.Rows(1).Height =8 '设置表格第二行的高度为8毫米
rs.cells(0,0).spancols = 8 '第1行第1个单元格向右合并8列
rs.Cells(0,0).Text = "桐梓县机关(参公)单位工作人员地方津贴补贴调标单位汇总表" '设置表格第一行第一个单元格内填入文本的内容
rs.Rows(0).style. F    '设置第一行字体
rs.Rows(0).Style.FontSize = 28 '字体大小为28磅   '设置第一行字体大小
rs.Rows(0).Style.FontBold = True '第一行字体是否加粗
rs.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行内容水平居中
rs.Rows(0).Style.TextAlignVert = prt.AlignVertEnum.Center '第一行内容垂直居中
rs.Rows(1).style.F '设置第二行字体
rs.Rows(1).Style.TextAlignVert = prt.AlignVertEnum.Center '第二行内容垂直居中
rs.Rows(1).Style.FontSize = 12'字体大小为12磅 '设置第二行字体大小
rs.cells(1,0).spancols = 2 '第2行第1个单元格向右合并2列
rs.Cells(1,0).Text = "汇总单位(章): " & "桐梓县财政局" '设置表格内第二行第一个单元格填入文本内容
rs. Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.left '第二行第一个单元格内的内容靠左
rs.cells(1,2).spancols = 2 '第2行第3个单元格向右合并2列
rs.Cells(1,2).Text = "汇总人:" '设置表格内第二行第三个单元格填入文本内容
rs. Cells(1,2).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第二行第三个单元格内的内容水平居中
rs.cells(1,4).spancols = 3 '第2行第5个单元格向右合并3列
rs.Cells(1,4).Text = "汇总审核部门(章):" '设置表格第二行第五个单元格内填入文本内容
rs. Cells(1,4).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第二行第五个单元格内的内容水平居中
rs.Cells(1,7).Text = "单位:元/月" '设置表格第二行第八个单元格内填入文本内容
rs. Cells(1,7).Style.TextAlignHorz = prt.AlignHorzEnum.right '第二行第八个单元格内的内容靠右
rs.style.spacing.bottom = 0 '和下面的对象(表格)距离0毫米
Doc.PageHeader = rs '作为页眉使用
'设置表头和表中间内容
Dim rs2 As New prt.RenderTable() '定义一个表格对象
Dim tb as Table = Tables("单位名称")
Dim ColNames As String() = New String(){"序号","单位名称"}
Dim tb1 as Table = Tables("调标表")
Dim ColNames1 As String() = New String(){"调整前地方津贴补贴", "调整后地方津贴补贴", "月增资额", "补发合计"}
Rs2.cansplithorz = false '表格宽度超出页宽时,不允许水平换页
Rs2.Style.Font = tb.Font  '设置字体
'设置各位置的网格线
Rs2.style.gridlines.all = new prt.linedef '将网格线类型设为默认类型
Rs2.Cols.Count = 6 '设置列数
Rs2.Rows(0).Height =15 '设置表格第一行的高度为15毫米
Rs2.Rows(0).style. F    '设置第一行字体
Rs2.Rows(0).Style.FontSize = 13 '字体大小为13磅   '设置第一行字体大小
Rs2.Cols(0).Width = 30  '序号列宽度
Rs2.Cols(1).Width = 89  '单位名称列宽度
Rs2.Cols(2).Width = 65  '调整前地方津贴补贴列宽度
Rs2.Cols(3).Width = 65  '调整后地方津贴补贴列宽度
Rs2.Cols(4).Width = 60  '月增资额列宽度
Rs2.Cols(5).Width = 60  '补发合计列宽度
Rs2.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum. Center '第一行内容靠中间对齐
Rs2.Rows(0).Style.TextAlignVert = prt.AlignHorzEnum. Center '第一行内容垂直居中
Rs2.Cells(0,0).Text= "序号"
Rs2.Cells(0,1).Text = "单位名称"
Rs2.Cells(0,2).Text = "调整前地方津贴补贴"
Rs2.Cells(0,3).Text= "调整后地方津贴补贴"
Rs2.Cells(0,4).Text = "月增资额"
Rs2.Cells(0,5).Text = "补发合计"
Rs2.RowGroups(0,1).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行的文本水平居中
Rs2.RowGroups(0,1).Style.TextAlignVert = prt.AlignVertEnum.Center '第一行的文本垂直居中
Rs2.RowGroups(0,1).PageHeader = True '第一行作为表头
For c As Integer = 0 To ColNames.Length - 1 '逐列设置和填入内容
 rs2.cols(c).Style.TextAlignVert = prt.AlignVertEnum.Center '数据垂直居中
 Rs2.Cols(c).Style.TextAlignHorz = prt.AlignHorzEnum.Center '数据水平居中
For r As integer = 0 To tb.Rows.Count -1 '开始填入该列内容
        rs2.rows(r+1).height = 6   '设置添加内容的行的行高
        rs2.Rows(R+1).Style.FontSize = 12'字体大小为12磅   '设置字体大小
if ColNames(c) = "序号" then     '如果需要填充列的列名为“序号”执行如下代码
Rs2.Cells(r + 1, c).Text = format(r+1,"0")   '“序号”第一行填入1,依行类推,格式化数字的字符为1,2,3…….
Else
Rs2.Cells(r + 1, c).Text = tb.Rows(r)(ColNames(c))
End if
Next
Next

For c1 As Integer = 2 To ColNames1.Length - 1 '逐列设置和填入内容
 rs2.cols(c1).Style.TextAlignVert = prt.AlignVertEnum.Center '数据垂直居中
 Rs2.Cols(c1).Style.TextAlignHorz = prt.AlignHorzEnum.Center '数据水平居中
For r1 As integer = 0 To tb1.Rows.Count -1 '开始填入该列内容
        rs2.rows(r1+1).height = 6   '设置添加内容的行的行高
        rs2.Rows(r1+1).Style.FontSize = 12'字体大小为12磅   '设置字体大小
Dim Q As String
Q = Rs2.Cells( r1+1,1).Text
Rs2.Cells(r1+1,c1).Text = tb1.Compute("Sum(ColNames1(c1))","[单位名称] = '& Q &'")
Next
Next

Dim cnt As integer = Rs2.Rows.Count + 1
rs2.cols(cnt).Style.TextAlignVert = prt.AlignVertEnum.Center '数据垂直居中
Rs2.Cols(cnt).Style.TextAlignHorz = prt.AlignHorzEnum.Center '数据水平居中
rs2.Rows(cnt).Style.FontSize = 13 '字体大小为13磅 '设置最后一行字体大小
rs2.rows(cnt).height = 10   '设置最后一行的行高
Rs2.cells(cnt,0).spancols = 2 '最后一行第1个单元格向右合并2列
Rs2.Cells(cnt,0).Text = "合          计"   '设置表格内最后一行第一个单元格填入文本
'合计行数据填充
For T2 As Integer = 2 To ColNames1. Length - 1 '逐列设置和填入内容
 If tb1.Cols(ColNames1(T2)).IsNumeric then
        rs2.Cells(cnt,T2).Text = tb1.Compute("Sum(" & ColNames1(T2) & ")")
    End If
Next
Doc.body.children.add(rs2)
doc.Preview() '预览报表


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


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

这样改了,还是不行

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


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

老大帮帮忙,谢谢

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


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

'''
Dim doc As New PrintDoc() '定义一个报表
doc.PageSetting.PaperKind = 8 '纸张类型为A3
doc.PageSetting.Landscape = True '横向打印
doc.AutoRotate = False '禁止自动旋转打印内容
Doc.PageSetting.LeftMargin = 30 '设置左边距
Doc.PageSetting.RightMargin = 25 '设置右边距
Doc.PageSetting.TopMargin = 30 '设置上边距
Doc.PageSetting.TopMargin = 25 '设置下边距
'设置标题
Dim rs As New prt.RenderTable()'定义一个表格
'设置各位置的网格线
rs.Style.GridLines.All = New Prt.LineDef(0.4, Color.Black)
rs.Style.GridLines.Horz = new Prt.LineDef(0.3,Color. Black)
rs.Style.GridLines.Vert = new Prt.LineDef(0.3,Color. Black)
Rs.Width = 369 '设置表格的宽度为369毫米
rs.rows.count = 2  '设置总行数
rs.cols.count = 8  '设置总列数
Rs.Rows(0).Height =18 '设置表格第一行的高度为18毫米
Rs.Rows(1).Height =8 '设置表格第二行的高度为8毫米
rs.cells(0,0).spancols = 8 '第1行第1个单元格向右合并8列
rs.Cells(0,0).Text = "桐梓县机关(参公)单位工作人员地方津贴补贴调标单位汇总表" '设置表格第一行第一个单元格内填入文本的内容
rs.Rows(0).style. F    '设置第一行字体
rs.Rows(0).Style.FontSize = 28 '字体大小为28磅   '设置第一行字体大小
rs.Rows(0).Style.FontBold = True '第一行字体是否加粗
rs.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行内容水平居中
rs.Rows(0).Style.TextAlignVert = prt.AlignVertEnum.Center '第一行内容垂直居中
rs.Rows(1).style.F '设置第二行字体
rs.Rows(1).Style.TextAlignVert = prt.AlignVertEnum.Center '第二行内容垂直居中
rs.Rows(1).Style.FontSize = 12'字体大小为12磅 '设置第二行字体大小
rs.cells(1,0).spancols = 2 '第2行第1个单元格向右合并2列
rs.Cells(1,0).Text = "汇总单位(章): " & "桐梓县财政局" '设置表格内第二行第一个单元格填入文本内容
rs. Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.left '第二行第一个单元格内的内容靠左
rs.cells(1,2).spancols = 2 '第2行第3个单元格向右合并2列
rs.Cells(1,2).Text = "汇总人:" '设置表格内第二行第三个单元格填入文本内容
rs. Cells(1,2).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第二行第三个单元格内的内容水平居中
rs.cells(1,4).spancols = 3 '第2行第5个单元格向右合并3列
rs.Cells(1,4).Text = "汇总审核部门(章):" '设置表格第二行第五个单元格内填入文本内容
rs. Cells(1,4).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第二行第五个单元格内的内容水平居中
rs.Cells(1,7).Text = "单位:元/月" '设置表格第二行第八个单元格内填入文本内容
rs. Cells(1,7).Style.TextAlignHorz = prt.AlignHorzEnum.right '第二行第八个单元格内的内容靠右
rs.style.spacing.bottom = 0 '和下面的对象(表格)距离0毫米
Doc.PageHeader = rs '作为页眉使用
'设置表头和表中间内容
Dim rs2 As New prt.RenderTable() '定义一个表格对象
Dim tb as Table = Tables("调标表")
Dim ColNames As String() = New String(){"序号","单位名称","调整前地方津贴补贴", "调整后地方津贴补贴", "月增资额", "补发合计"}
Rs2.cansplithorz = false '表格宽度超出页宽时,不允许水平换页
Rs2.Style.Font = tb.Font  '设置字体
'设置各位置的网格线
Rs2.style.gridlines.all = new prt.linedef '将网格线类型设为默认类型
Rs2.Cols.Count = 6 '设置列数
Rs2.Rows(0).Height =15 '设置表格第一行的高度为15毫米
Rs2.Rows(0).style. F    '设置第一行字体
Rs2.Rows(0).Style.FontSize = 13 '字体大小为13磅   '设置第一行字体大小
Rs2.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum. Center '第一行内容靠中间对齐
Rs2.Rows(0).Style.TextAlignVert = prt.AlignHorzEnum. Center '第一行内容垂直居中
Rs2.Cells(0,0).Text= "序号"
Rs2.Cells(0,1).Text = "单位名称"
Rs2.Cells(0,2).Text = "调整前地方津贴补贴"
Rs2.Cells(0,3).Text= "调整后地方津贴补贴"
Rs2.Cells(0,4).Text = "月增资额"
Rs2.Cells(0,5).Text = "补发合计"
Rs2.RowGroups(0,1).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行的文本水平居中
Rs2.RowGroups(0,1).Style.TextAlignVert = prt.AlignVertEnum.Center '第一行的文本垂直居中
Rs2.RowGroups(0,1).PageHeader = True '第一行作为表头


Dim Names As List(Of String) = Tables("调标表").DataTable.GetUniqueValues("","单位名称")
 For i As integer = 0 To Names.Count -1
       rs2.rows(i+1).height = 6   '设置添加内容的行的行高
       rs2.Rows(i+1).Style.FontSize = 12'字体大小为12磅   '设置字体大小
       rs2.cols(i).Style.TextAlignVert = prt.AlignVertEnum.Center '数据垂直居中
       Rs2.Cols(i).Style.TextAlignHorz = prt.AlignHorzEnum.Center '数据水平居中
       rs2.cols(5).Style.TextAlignVert = prt.AlignVertEnum.Center '数据垂直居中
       Rs2.Cols(5).Style.TextAlignHorz = prt.AlignHorzEnum.Center '数据水平居中
       Rs2.Cols(0).Width = 30  '序号列宽度
       Rs2.Cols(1).Width = 89  '单位名称列宽度
       Rs2.Cols(2).Width = 65  '调整前地方津贴补贴列宽度
       Rs2.Cols(3).Width = 65  '调整后地方津贴补贴列宽度
       Rs2.Cols(4).Width = 60  '月增资额列宽度
       Rs2.Cols(5).Width = 60  '补发合计列宽度
 
    Rs2.Cells(i+1,0).Text = format(i+1,"0")
    rs2.Cells(i+1,1).Text= Names(i)
    rs2.Cells(i+1,2).Text = Tables("调标表").DataTable.Compute("sum(调整前地方津贴补贴)","单位名称='" & Names(i) & "'")
    rs2.Cells(i+1,3).Text = Tables("调标表").DataTable.Compute("Sum(调整后地方津贴补贴)"," 单位名称='" & Names(i) & "'")
    rs2.Cells(i+1,4).Text = Tables("调标表").DataTable.Compute("Sum(月增资额)"," 单位名称='" & Names(i) & "'")
    rs2.Cells(i+1,5).Text = Tables("调标表").DataTable.Compute("Sum(补发合计)"," 单位名称='" & Names(i) & "'")
Next


Dim cnt As integer = Rs2.Rows.Count + 1
rs2.cols(cnt).Style.TextAlignVert = prt.AlignVertEnum.Center '数据垂直居中
Rs2.Cols(cnt).Style.TextAlignHorz = prt.AlignHorzEnum.Center '数据水平居中
rs2.Rows(cnt).Style.FontSize = 13 '字体大小为13磅 '设置最后一行字体大小
rs2.rows(cnt).height = 10   '设置最后一行的行高
Rs2.cells(cnt,0).spancols = 2 '最后一行第1个单元格向右合并2列
Rs2.Cells(cnt,0).Text = "合          计"   '设置表格内最后一行第一个单元格填入文本
'合计行数据填充
For T2 As Integer = 2 To ColNames. Length - 1 '逐列设置和填入内容
 If tb.Cols(ColNames(T2)).IsNumeric then
        rs2.Cells(cnt,T2).Text = tb.Compute("Sum(" & ColNames(T2) & ")")
    End If
Next
Doc.body.children.add(rs2)
doc.Preview() '预览报表


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


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

搞定了,就是有些地方的代码有点乱,版主帮帮忙,优化一下

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/4/30 10:31:00 [只看该作者]

以下是引用雨中的泪在2010-4-30 0:50:00的发言:
搞定了,就是有些地方的代码有点乱,版主帮帮忙,优化一下


何必要用多表格?那样定位不准,线条错位,粗细还不一致,设置格式的地方更多,试试这个:

Dim doc As New PrintDoc() '定义一个报表
doc.PageSetting.PaperKind = 8 '纸张类型为A3
doc.PageSetting.Landscape = True '横向打印
doc.AutoRotate = False '禁止自动旋转打印内容
Doc.PageSetting.LeftMargin = 30 '设置左边距
Doc.PageSetting.RightMargin = 25 '设置右边距
Doc.PageSetting.TopMargin = 30 '设置上边距
Doc.PageSetting.TopMargin = 25 '设置下边距
'设置标题
Dim rs As New prt.RenderTable()'定义一个表格
rs.Style.TextAlignHorz = prt.AlignHorzEnum.Center '所有单元格行内容水平居中
rs.Style.TextAlignVert = prt.AlignVertEnum.Center '所有单元格内容垂直居中
rs.Cols(0).Width = "30mm"  '序号列宽度
rs.Cols(1).Width = "89mm"  '单位名称列宽度
rs.Cols(2).Width = "65mm"  '调整前地方津贴补贴列宽度
rs.Cols(3).Width = "65mm"  '调整后地方津贴补贴列宽度
rs.Cols(4).Width = "60mm"  '月增资额列宽度
rs.Cols(5).Width = "60mm"  '补发合计列宽度
Rs.Width = "369mm" '设置表格的宽度为369毫米
rs.cols.count = 6  '设置总列数
rs.CellStyle.Spacing.All = 0.3
Rs.Rows(0).Height =18 '设置表格第一行的高度为18毫米
Rs.Rows(1).Height =8 '设置表格第二行的高度为8毫米
rs.cells(0,0).spancols = 6 '第1行第1个单元格向右合并8列
rs.Cells(0,0).Text = "桐梓县机关(参公)单位工作人员地方津贴补贴调标单位汇总表" '设置表格第一行第一个单元格内填入文本的内容
rs.Rows(0).style.F      '设置第一行字体
rs.Rows(0).Style.FontSize = 28 '字体大小为28磅   '设置第一行字体大小
rs.Rows(0).Style.FontBold =true
rs.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第一行内容水平居中
rs.Rows(0).Style.TextAlignVert = prt.AlignVertEnum.Center '第一行内容垂直居中
rs.Rows(1).style.F   '设置第二行字体
rs.Rows(1).Style.TextAlignVert = prt.AlignVertEnum.Center '第二行内容垂直居中
rs.Rows(1).Style.FontSize = 12'字体大小为12磅 '设置第二行字体大小
rs.cells(1,0).spancols = 2 '第2行第1个单元格向右合并2列
rs.Cells(1,0).Text = "汇总单位(章): " & "桐梓县财政局" '设置表格内第二行第一个单元格填入文本内容
rs. Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.left '第二行第一个单元格内的内容靠左
rs.Cells(1,2).Text = "   汇总人:" '设置表格内第二行第三个单元格填入文本内容
rs. Cells(1,2).Style.TextAlignHorz = prt.AlignHorzEnum.left '第二行第三个单元格内的内容水平居中
rs.cells(1,3).spancols = 2 '第2行第5个单元格向右合并2列
rs.Cells(1,3).Text = "汇总审核部门(章):" '设置表格第二行第五个单元格内填入文本内容
rs. Cells(1,3).Style.TextAlignHorz = prt.AlignHorzEnum.Center '第二行第五个单元格内的内容水平居中
rs.Cells(1,5).Text = "单位:元/月" '设置表格第二行第八个单元格内填入文本内容
rs. Cells(1,5).Style.TextAlignHorz = prt.AlignHorzEnum.right '第二行第八个单元格内的内容靠右
'rs.Rows(1).Style.GridLines.All = New Prt.LineDef(0, Color.White)
Dim tb as Table = Tables("调标表")
Dim ColNames As String() = New String(){"序号","单位名称","调整前地方津贴补贴", "调整后地方津贴补贴", "月增资额", "补发合计"}
for i as Integer = 0 to 5
    rs.Cells(2,i).Style.GridLines.All = New Prt.LineDef("0.2mm", Color.Black)
    rs.Cells(2,i).Style.GridLines.top = new Prt.LineDef("0.6mm",Color. Black)
    rs.Cells(2,i).Text = ColNames(i)
next
rs.Rows(2).Height =12
rs.Rows(2).style.F   '设置第二行字体
rs.Rows(2).Style.FontSize = 12'字体大小为12磅 '设置第二行字体大小
rs.Rows(2).Style.FontBold =true
rs.Cells(2,0).Style.GridLines.left = New Prt.LineDef("0.6mm", Color.Black)
rs.Cells(2,5).Style.GridLines.right  = New Prt.LineDef("0.6mm", Color.Black)

Dim Names As List(Of String) = Tables("调标表").DataTable.GetUniqueValues("","单位名称")
For i As integer = 0 To Names.Count-1
    rs.rows(i+4).height = "8mm"   '设置添加内容的行的行高
    rs.Rows(i+4).Style.FontSize = 12'字体大小为12磅   '设置字体大小
    rs.Rows(i+4).Style.GridLines.All = New Prt.LineDef("0.2mm", Color.Black)
    rs.Cells(i+4,0).Style.GridLines.left = New Prt.LineDef("0.6mm", Color.Black)
    rs.Cells(i+4,5).Style.GridLines.right = New Prt.LineDef("0.6mm", Color.Black)
    rs.Cells(i+4,0).Text = format(i+1,"00")
    rs.Cells(i+4,1).Text= Names(i)
    rs.Cells(i+4,2).Text = Tables("调标表").DataTable.Compute("sum(调整前地方津贴补贴)","单位名称='" & Names(i) & "'")
    rs.Cells(i+4,3).Text = Tables("调标表").DataTable.Compute("Sum(调整后地方津贴补贴)"," 单位名称='" & Names(i) & "'")
    rs.Cells(i+4,4).Text = Tables("调标表").DataTable.Compute("Sum(月增资额)"," 单位名称='" & Names(i) & "'")
    rs.Cells(i+4,5).Text = Tables("调标表").DataTable.Compute("Sum(补发合计)"," 单位名称='" & Names(i) & "'")
Next
dim cnt as Integer = rs.Rows.Count + 1
rs.Rows(cnt).Style.FontSize = 13 '字体大小为13磅 '设置最后一行字体大小
rs.rows(cnt).height = 10   '设置最后一行的行高
Rs.cells(cnt,0).spancols = 2 '最后一行第1个单元格向右合并2列
Rs.Cells(cnt,0).Text = "合          计"   '设置表格内最后一行第一个单元格填入文本
'合计行数据填充
For T2 As Integer = 2 To ColNames.Length - 1 '逐列设置和填入内容
    If tb.Cols(ColNames(T2)).IsNumeric then
        rs.Cells(cnt,T2).Text = tb.Compute("Sum(" & ColNames(T2) & ")")
    End If
Next
rs.rows(cnt).height = "8mm"   '设置添加内容的行的行高
rs.Rows(cnt).Style.FontSize = 13'字体大小为13磅   '设置字体大小
rs.Rows(cnt).Style.GridLines.All = New Prt.LineDef("0.2mm", Color.Black)
rs.Cells(cnt,0).Style.GridLines.left = New Prt.LineDef("0.6mm", Color.Black)
rs.Cells(cnt,5).Style.GridLines.right = New Prt.LineDef("0.6mm", Color.Black)
rs.Rows(cnt).Style.GridLines.Bottom = New Prt.LineDef("0.6mm", Color.Black)
rs.Cells(cnt,0).Style.FontBold =true
rs.RowGroups(0,2).Header = prt.TableHeaderEnum.All '利用行组,将第1至3行设为表头
Rs.cansplithorz = false '表格宽度超出页宽时,不允许水平换页
Doc.body.children.add(rs)
doc.Preview() '预览报表



        
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:实例一(2).rar


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


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

谢谢

 回到顶部