以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何实现个性化的排名效果  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=139750)

--  作者:scofields
--  发布时间:2019/8/20 16:36:00
--  如何实现个性化的排名效果
 老师,工作中有需要进行如下图的排名,foxtable能否进行个性化的排名?
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190820163534.png
图片点击可在新窗口打开查看

--  作者:有点酸
--  发布时间:2019/8/20 16:42:00
--  
测试通过:

Dim t As Table = Tables("表A")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "第一列"
g.TotalOn = "数量"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "数量"
g.Caption = "总计"
t.SubtotalGroups.Add(g)

t.Sort = "第一列,数量 desc"
t.Subtotal(True)


--  作者:scofields
--  发布时间:2019/8/20 17:01:00
--  
 效果不错,可我要显示排名,如下效果
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190820170017.png
图片点击可在新窗口打开查看

--  作者:有点酸
--  发布时间:2019/8/20 17:08:00
--  
汇总模式之后:

for r as integer = 0 to Tables("统计表1").Rows.Count - 1
      Tables("统计表1").Rows(r)("排名") = r +1
next

--  作者:scofields
--  发布时间:2019/8/20 17:11:00
--  
 可不可以在小计那里也显示排名?
--  作者:有点酸
--  发布时间:2019/8/20 17:18:00
--  
后面再来一段:

Dim cnt as integer = 1
for r as integer = 0 to Tables("统计表1").Rows(True).Count - 2
dim r as row  = Tables("统计表1").Rows(i,True)
     If r.IsGroup
        r
("排名") = cnt
          cnt = cnt + 1
    End If
next


http://www.foxtable.com/webhelp/topics/1594.htm
http://www.foxtable.com/webhelp/topics/1372.htm


--  作者:scofields
--  发布时间:2019/8/20 17:27:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190820172623.png
图片点击可在新窗口打开查看
 
--  作者:有点酸
--  发布时间:2019/8/20 17:29:00
--  
一点比笔误都不能有吗?

Tables("统计表1").Rows.Count(True) - 2
[此贴子已经被作者于2019/8/20 17:28:49编辑过]

--  作者:scofields
--  发布时间:2019/8/20 17:40:00
--  
 当然可以有,我也在看帮助文件,不过运行还是有问题啊
图片点击可在新窗口打开查看此主题相关图片如下:12.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2019/8/20 20:21:00
--  
r变量名称定义重复了,换个名称