Foxtable(狐表)用户栏目专家坐堂 → [求助]如何设置统计报表中金额栏的对齐方式


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

主题:[求助]如何设置统计报表中金额栏的对齐方式

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


加好友 发短信
等级:二尾狐 帖子:546 积分:3903 威望:0 精华:0 注册:2011/5/24 15:35:00
[求助]如何设置统计报表中金额栏的对齐方式  发帖心情 Post By:2017/5/23 17:48:00 [只看该作者]

在用专业报表打印后台数据的统计报表时,如有金额的汇总统计如何让金额栏右对齐并保留两位小数,这样看起来会更专业,但因为行数是随机的如何写代码?请指教!

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/23 18:01:00 [只看该作者]

 你代码怎么写的?参考的哪个示例? 这个? http://www.foxtable.com/webhelp/scr/1241.htm

 

 贴出代码,上传实例。

[此贴子已经被作者于2017/5/23 18:01:46编辑过]

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


加好友 发短信
等级:二尾狐 帖子:546 积分:3903 威望:0 精华:0 注册:2011/5/24 15:35:00
  发帖心情 Post By:2017/5/24 8:13:00 [只看该作者]

如这段代码让数量列右对齐。
Dim dt As DataTable
Dim 
g As New GroupTableBuilder("统计表1", DataTables("订单"))
g.Groups.AddDef(
"产品")
g.Totals.AddDef(
"数量")
g.FromServer = 
True
dt = g.Build(
True)

Dim 
doc As New PrintDoc
Dim
 rt As New prt.RenderTable
Dim
 Count As Integer = 0
For
 Each Col AS DataCol In Dt.DataCols
    rt.Cells(
0,Count).Text = Col.Name
    For
 r As integer = 0 To dt.DataRows.Count - 1
        rt.Cells(r +
1,Count).Text = dt.DataRows(r)(Col.Name)
    Next
 
    Count = Count + 
1
Next

rt.Style.Gridlines.All = New prt.Linedef(Color.Gray) 
rt.CellStyle.Spacing.All = 
1
rt.Rows(
0).Style.TextAlignHorz = prt.AlignHorzEnum.Center 
doc.Body.Children.Add(rt)
doc.Preview()

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/24 8:42:00 [只看该作者]

Dim dt As DataTable
Dim g As New GroupTableBuilder("统计表1", DataTables("订单"))
g.Groups.AddDef("产品")
g.Totals.AddDef("数量")
g.FromServer = True
dt = g.Build(True)
Dim doc As New PrintDoc
Dim rt As New prt.RenderTable
Dim Count As Integer = 0
For Each Col As DataCol In Dt.DataCols
    rt.Cells(0,Count).Text = Col.Name
    If Col.IsNumeric Then
        rt.Cols(count).Style.TextAlignHorz = prt.AlignHorzEnum.Right '数据水平靠右
    End If
    For r As Integer = 0 To dt.DataRows.Count - 1
        rt.Cells(r +1,Count).Text = dt.DataRows(r)(Col.Name)
    Next
    Count = Count + 1
Next
rt.Style.Gridlines.All = New prt.Linedef(Color.Gray)
rt.CellStyle.Spacing.All = 1
rt.Rows(0).Style.TextAlignHorz = prt.AlignHorzEnum.Center
doc.Body.Children.Add(rt)
doc.Preview()

[此贴子已经被作者于2017/5/24 8:43:30编辑过]

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


加好友 发短信
等级:二尾狐 帖子:546 积分:3903 威望:0 精华:0 注册:2011/5/24 15:35:00
  发帖心情 Post By:2017/5/24 9:07:00 [只看该作者]

谢谢!!!!

 回到顶部