以文本方式查看主题
- 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变量名称定义重复了,换个名称
|