以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 专业报表同一行不同文本分别左右对齐的问题.(已解决)_ (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1457)
|
-- 作者:菜鸟foxtable
-- 发布时间:2008/12/20 16:44:00
-- 专业报表同一行不同文本分别左右对齐的问题.(已解决)_
此主题相关图片如下:001.jpg
标记了红色代码部份...我想两个日期在同一行,但一个左对齐,一个右对齐,怎么改?暂时只会用空格来代替.....
Dim doc As New PrintDoc Dim rt As Prt.RenderTable Dim rx,ry As prt.RenderText Dim Rq As String= Forms("一日清单").Controls("DateTimePicker1").text Dim tbl As Table = Tables("一日清单") Dim Rows As List(Of DataRow) Dim Regions As List(Of String) = tbl.DataTable.GetUniqueValues("","患者ID") doc.Pagesetting.LandScape = false For Each Region As String In Regions rx = New prt.RenderText rx.Style.FontSize = 10 \'rx.Style.FontBold = True rx.Style.Spacing.Bottom = 2 rx.Text = "患者ID: " & Region doc.Body.Children.Add(rx) ry = New prt.RenderText ry.Style.FontSize = 8 \'ry.Style.FontBold = True ry.Style.Spacing.Bottom = 2 ry.Text =
"清单日期: " & Rq & " 打印日期:" & date.today doc.Body.Children.Add(ry) rt = New prt.RenderTable rt.Style.Font = Tables("一日清单").Font rt.Style.TextAlignVert = prt.AlignVertEnum.Center rt.Style.GridLines.All = New prt.LineDef(0.3,Color.LightGray) rt.Style.Spacing.Bottom = 5 rt.CellStyle.Spacing.All = 1 rt.Style.Font = tbl.Font Rows = tbl.Datatable.Select("[患者ID] = \'" & Region & "\'") For c As integer = 0 To tbl.Cols.Count - 1 rt.Cells(0,c).Text = tbl.Cols(c).Name rt.Cols(c).Width = tbl.Cols(c).PrintWidth For r As integer = 0 To Rows.Count -1 rt.Cells(r + 1, c).Text = rows(r)(tbl.Cols(c).Name) Next Next rt.RowGroups(0,1).Header = prt.TableHeaderEnum.All doc.Body.Children.Add(rt) Next doc.preview()
[此贴子已经被作者于2008-12-22 10:42:03编辑过]
|
-- 作者:gdtgl
-- 发布时间:2008/12/20 18:34:00
--
用表格...设二列,清单日期写在第一列,打印日期写在第二列,然后设置对齐方式.
|
-- 作者:菜鸟foxtable
-- 发布时间:2008/12/20 18:38:00
--
又钻牛角尖了....没想到用表格....
另外问个,在每个表格结尾加上一个小计列的合计值,怎么写代码比较好?
[此贴子已经被作者于2008-12-20 18:40:28编辑过]
|
-- 作者:gdtgl
-- 发布时间:2008/12/20 18:50:00
--
看楼主的图,应是属于分组统计,得到结果,然后分别填在需要的位置.(或者在帮助中找找答案) 思路应有不少吧...
或者应要发文件上来了...
|
-- 作者:菜鸟foxtable
-- 发布时间:2008/12/20 19:22:00
--
g = New SubtotalGroup g.Aggregate = AggregateEnum.Sum g.GroupOn = "患者ID" g.TotalOn = "小计" g.Caption = "{0} 小计" t.SubtotalGroups.Add(g) 分组统计代码是这样...但用在专业报表里就不会了....
|
-- 作者:gdtgl
-- 发布时间:2008/12/20 19:42:00
--
呵,我在foxtable中找个文件来试试.....
[此贴子已经被作者于2008-12-20 19:55:11编辑过]
|
-- 作者:gdtgl
-- 发布时间:2008/12/20 21:05:00
--
是合计每个患者的小计? 如果是,在主表中加一列:患者小计列(这个计算也简单),报表中的引用位置放在 :清单日期/打印日期 这行....
不知这样行不行了?
[此贴子已经被作者于2008-12-20 21:07:54编辑过]
|
-- 作者:菜鸟foxtable
-- 发布时间:2008/12/20 21:30:00
--
Excel报表里有个方便的,不知道能否移植过来...
此主题相关图片如下:001.jpg
|
-- 作者:gdtgl
-- 发布时间:2008/12/20 21:32:00
--
是5楼的情况(如果是,也不复杂,因为平时录单时就做好了计算) 还是你要做每页统计吗?
|
-- 作者:菜鸟foxtable
-- 发布时间:2008/12/20 21:39:00
--
以下是引用gdtgl在2008-12-20 21:05:00的发言:是合计每个患者的小计? 如果是,在主表中加一列:患者小计列(这个计算也简单),报表中的引用位置放在 :清单日期/打印日期 这行.... 不知这样行不行了?
[此贴子已经被作者于2008-12-20 21:07:54编辑过]
这个好象不行吧.主表本身就有小计列,只是想把不同ID的小计列分别合计....
|