以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 请老师指点专业报表代码表标题分页打印设置.. (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2373)
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/4/9 13:56:00
-- 请老师指点专业报表代码表标题分页打印设置..
请问如何让表标题分页后重复出现?类似表头那样?如图
此主题相关图片如下:001.jpg
=======================以下问题虽然解决,但出现一个新问题===================
小计金额不知道应该怎么写....请老师指点....
另外感觉应该代码可以更精简...麻烦老师精简...
代码如下,
Dim doc As New PrintDoc Dim rt As Prt.RenderTable Dim tbl As Table = Tables("领药单") Dim Rows As List(Of DataRow) Dim Regions As List(Of String) = tbl.DataTable.GetUniqueValues("","床位") doc.Pagesetting.LandScape = false For Each Region As String In Regions Dim rs As New prt.RenderText Dim dr As DataRow = datatables("住院信息").find("[床位] = \'" & region & "\'") rs.Text = "床位: " & dr("床位") & " 姓名: " & dr("姓名") & " 住院号 : " & dr("住院号") rs.Style.FontSize = 10 rs.Style.FontBold = True doc.Body.Children.Add(rs) rt = New prt.RenderTable rt.Style.TextAlignVert = prt.AlignVertEnum.Center rt.Style.GridLines.Top = New prt.LineDef(0.4,Color.Black) rt.Style.Spacing.Bottom = 5 rt.CellStyle.Spacing.All = 1 rt.Style.Font = tbl.Font rt.Cols(0).Width = 0 rt.Cols(1).Width = 0 rt.Cols(2).Width = 0 rt.Cols(3).Width = 40 Rows = tbl.Datatable.Select("[床位] = \'" & Region & "\'") For c As integer = 0 To tbl.Cols.Count - 1 rt.Cells(0,c).Text = tbl.Cols(c).Name For r As integer = 0 To Rows.Count -1 rt.Cells(r + 1, c).Text = rows(r)(tbl.Cols(c).Name) Next rt.Cells(tbl.Rows.Count,8).Text = "小计" rt.Cells(tbl.Rows.Count,9).Text = tbl.compute("SUM(金额)","[床位] = \'" & Region & "\'") Next rt.RowGroups(0,1).Header = prt.TableHeaderEnum.All rt.Style.Gridlines.Horz = New prt.Linedef(0.3,Color.LightGray) doc.Body.Children.Add(rt) Next
doc.preview()
表格如下图:
此主题相关图片如下:002.jpg
效果如下图:
此主题相关图片如下:001.jpg
[此贴子已经被作者于2009-4-11 22:25:41编辑过]
|
-- 作者:狐狸爸爸
-- 发布时间:2009/4/9 15:03:00
--
For c As integer = 0 To tbl.Cols.Count - 1 rt.Cells(0,c).Text = tbl.Cols(c).Name For r As integer = 0 To Rows.Count -1 rt.Cells(r + 1, c).Text = rows(r)(tbl.Cols(c).Name) Next Next rt.Cells(tbl.Cols.Count,8).Text = "小计" rt.Cells(tbl.Cols.Count,9).Text = tbl.Compute(.......)
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/4/11 17:09:00
--
谢谢老爹指点,,再问一个问题....
如果表格跨页......换页时,项目/剂量/用法/标题栏会重复出.....但床位,姓名,住院号,一栏却不会出现..... .
问:床位,姓名,住院号,一栏如何重复出现?
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/4/11 20:43:00
--
|
-- 作者:yangming
-- 发布时间:2009/4/11 21:49:00
--
Doc.PageHeader = rs
将这段替换你下面的代码,试试
doc.Body.Children.Add(rs)
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/4/11 21:52:00
--
无效.........
|
-- 作者:yangming
-- 发布时间:2009/4/11 22:10:00
-- [求助]求助
我看你的代码,这段文本是做为页眉的,所以我想就不应该跨页就不显示啊
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/4/11 22:22:00
--
页眉另有代码...
这段文本只是分表的表标题.......床号/姓名/住院号/
分表的表头能分页显示....表标题就不行了...我在帮助里也没找到表标题重复显示的示例....
[此贴子已经被作者于2009-4-11 22:24:17编辑过]
|
-- 作者:yangming
-- 发布时间:2009/4/11 22:31:00
--
我还是看的是一楼的代码,以为是页眉呢
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/4/11 22:35:00
--
以下是引用yangming在2009-4-11 22:31:00的发言:
我还是看的是一楼的代码,以为是页眉呢
晕...就是一楼的代码啊.....我省略了页眉页脚代码.....
|