Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:专业报表同一行不同文本分别左右对齐的问题.(已解决)_

1楼
菜鸟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编辑过]
2楼
gdtgl 发表于:2008/12/20 18:34:00

用表格...设二列,清单日期写在第一列,打印日期写在第二列,然后设置对齐方式.

3楼
菜鸟foxtable 发表于:2008/12/20 18:38:00
图片点击可在新窗口打开查看又钻牛角尖了....没想到用表格....


另外问个,在每个表格结尾加上一个小计列的合计值,怎么写代码比较好?
[此贴子已经被作者于2008-12-20 18:40:28编辑过]
4楼
gdtgl 发表于:2008/12/20 18:50:00
看楼主的图,应是属于分组统计,得到结果,然后分别填在需要的位置.(或者在帮助中找找答案) 思路应有不少吧...

或者应要发文件上来了...
5楼
菜鸟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)

分组统计代码是这样...但用在专业报表里就不会了....图片点击可在新窗口打开查看
6楼
gdtgl 发表于:2008/12/20 19:42:00

呵,我在foxtable中找个文件来试试.....

[此贴子已经被作者于2008-12-20 19:55:11编辑过]
7楼
gdtgl 发表于:2008/12/20 21:05:00
是合计每个患者的小计? 如果是,在主表中加一列:患者小计列(这个计算也简单),报表中的引用位置放在 :清单日期/打印日期 这行....

不知这样行不行了?
[此贴子已经被作者于2008-12-20 21:07:54编辑过]
8楼
菜鸟foxtable 发表于:2008/12/20 21:30:00
Excel报表里有个方便的,不知道能否移植过来...

图片点击可在新窗口打开查看此主题相关图片如下:001.jpg
图片点击可在新窗口打开查看
9楼
gdtgl 发表于:2008/12/20 21:32:00

是5楼的情况(如果是,也不复杂,因为平时录单时就做好了计算) 还是你要做每页统计吗?

10楼
菜鸟foxtable 发表于:2008/12/20 21:39:00
以下是引用gdtgl在2008-12-20 21:05:00的发言:
是合计每个患者的小计? 如果是,在主表中加一列:患者小计列(这个计算也简单),报表中的引用位置放在 :清单日期/打印日期 这行....

不知这样行不行了?
[此贴子已经被作者于2008-12-20 21:07:54编辑过]

这个好象不行吧.主表本身就有小计列,只是想把不同ID的小计列分别合计....

共11 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02539 s, 2 queries.