Foxtable(狐表)用户栏目专家坐堂 → 请教专业报表的合并单元格。


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

主题:请教专业报表的合并单元格。

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


加好友 发短信
等级:一尾狐 帖子:445 积分:3025 威望:0 精华:0 注册:2008/9/13 10:49:00
请教专业报表的合并单元格。  发帖心情 Post By:2012/11/19 11:31:00 [只看该作者]

希望按键1达到的效果:

 

 


图片点击可在新窗口打开查看此主题相关图片如下:效果13(行).jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2012-11-19 11:33:18编辑过]

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


加好友 发短信
等级:狐神 帖子:6887 积分:43621 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/11/19 11:32:00 [只看该作者]

Dim doc As New PrintDoc '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象

doc
.Body.Children.Add(rt) '将表格对象加入到报表中
rt
.Style.GridLines.All = New prt.Linedef '设置网格线
rt
.Rows.Count = 7 '设置总行数
rt
.Cols.Count = 5 '设置总列数
rt
.Height = 120 '设置表格的高度为120毫米
rt
.Rows(6).Height = 50 '第7行的高度为50毫米
rt
.Cells(0,4).SpanRows = 6 '第1行第5个单元格向下合并6行
rt
.Cells(4,1).SpanCols = 3 '第5行第2个单元格向右合并3列
rt
.Cells(6,0).SpanCols = 5 '第7行第1个单元格向右合并5列
Doc
.Preview() '预览报表


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


加好友 发短信
等级:一尾狐 帖子:445 积分:3025 威望:0 精华:0 注册:2008/9/13 10:49:00
  发帖心情 Post By:2012/11/19 11:32:00 [只看该作者]

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:合并单元格.table


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/19 13:11:00 [只看该作者]

 '''
'********报表************
Dim doc As New Printdoc
'报表内容
Dim rt As  prt.RenderTable
rt = New prt.RenderTable
rt.Style.GridLines.All = prt.Linedef.Default '网格线为默认类型
rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center '设置字体居中
rt.CellStyle.Spacing.All = 1  '行与行之间的间隔
'------------------------------------------------------------------------------------------------------------------------------
Dim dr As Row =Tables("原始记录分类.原始记录three").current
Dim ycfn As String = dr("分类序号")

Dim tb As DataTable = DataTables("原始记录")
Dim tbrows As List(of DataRow) = tb.Select("[受理编号] = '" & dr("受理编号") & "' and [分类序号] =  '" & ycfn  & "'", "采样地点")

rt.Cells(0,0).Text = "采样地点"
rt.Cells(0,1).Text = "检验项目"
rt.Cells(0,2).Text = "测定值(ug/L)"
rt.Cells(0,3).Text = "报告值(mg/L)"

rt.Cells(1,0).Text = tbrows(0)("采样地点")
rt.Cells(1,1).Text = tbrows(0)("检验项目")

Dim FirstRow As Integer = 1
For bci As Integer = 1 To tbrows.count -1
    
    If tbrows(bci)("采样地点") = tbrows(bci -1)("采样地点")    Then
        rt.Cells(firstRow,0).SpanRows = rt.Cells(firstRow, 0).SpanRows + 1
        rt.Cells(bci+1,1).Text = tbrows(bci)("检验项目")
    Else
        rt.Cells(bci+1,0).Text = tbrows(bci)("采样地点")
        rt.Cells(bci+1,1).Text = tbrows(bci)("检验项目")
        rt.Cells(bci+1,0).SpanRows = 1
        firstRow = bci+1
    End If
Next
doc.Body.Children.Add(rt)
'---------------------------------------------------------------------------------------------------------------------

doc.Preview()

 回到顶部