Foxtable(狐表)用户栏目专家坐堂 → 专业报表同一行不同文本分别左右对齐的问题.(已解决)_


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

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

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
专业报表同一行不同文本分别左右对齐的问题.(已解决)_  发帖心情 Post By: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编辑过]

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2008/12/20 18:38:00 [显示全部帖子]

图片点击可在新窗口打开查看又钻牛角尖了....没想到用表格....


另外问个,在每个表格结尾加上一个小计列的合计值,怎么写代码比较好?
[此贴子已经被作者于2008-12-20 18:40:28编辑过]

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By: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)

分组统计代码是这样...但用在专业报表里就不会了....图片点击可在新窗口打开查看

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2008/12/20 21:30:00 [显示全部帖子]

Excel报表里有个方便的,不知道能否移植过来...

图片点击可在新窗口打开查看此主题相关图片如下:001.jpg
图片点击可在新窗口打开查看

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2008/12/20 21:39:00 [显示全部帖子]

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

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

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


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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2008/12/20 21:51:00 [显示全部帖子]

图片点击可在新窗口打开查看终于搞明白了...

加一行
Text = Tables("一日清单").DataTable.Compute("Sum(小计)","患者ID = '"& Region & " ' ")

 回到顶部