Foxtable(狐表)用户栏目专家坐堂 → [求助]列排序


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

主题:[求助]列排序

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


加好友 发短信
等级:六尾狐 帖子:1393 积分:10723 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]列排序  发帖心情 Post By:2020/4/29 19:19:00 [显示全部帖子]

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("部门名称", Gettype(String), 30)
dtb.AddDef("月份", Gettype(String), 6)
For Each prd() As String In DataTables("统计表1").GetValues("" & HZ3 & "|成本属性")
    dtb.AddDef(prd(1) & "_" & prd(0), Gettype(Double))
Next 
dtb.AddDef("总计", Gettype(Double))

dtb.Build()

Tables("汇总报表_Table1").DataSource = dtb.BuildDataSource() '
For Each nm() As String In DataTables("统计表1").GetValues("部门名称|月份")
    Dim dr As DataRow = DataTables("汇总报表_Table1").AddNew()
    dr("部门名称") = nm(0)
    dr("月份") = nm(1)
    dr("总计") =DataTables("统计表1").Compute("sum(金额)","部门名称 = '" & nm(0) & "' and 月份 = '" & nm(1) & "'")
For Each prd() As String In DataTables("统计表1").GetValues("" & HZ3 & "|成本属性")
        dr(prd(1) & "_" & prd(0)) = DataTables("统计表1").Compute("Sum(金额)","部门名称 = '" & nm(0) & "' and 月份 = '" & nm(1) & "' and  " & HZ3 & " = '" & prd(0) & "' and 成本属性= '" & prd(1) & "'")
Next
Next

有两行列标题,如何根据第一行的列标题排序

图片点击可在新窗口打开查看此主题相关图片如下:72af41eb-07b9-4459-8c36-05573a08ba04.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2020/4/29 20:01:31编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1393 积分:10723 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2020/4/30 9:31:00 [显示全部帖子]

dim lst as new list(of string)
for each c as col in Tables("汇总报表_Table1").cols
if c.name.contains("_") then lst.add(c.name)
next
lst.sort()
lst.Reverse

for i as integer = 0 to lst.count - 1
Tables("汇总报表_Table1").cols(lst(i)).move(2)
next

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


加好友 发短信
等级:六尾狐 帖子:1393 积分:10723 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/2/4 13:58:00 [显示全部帖子]

Dim lst As new List(of String)
For Each c As Col In Tables("统计表2").cols
    If c.Caption.contains("_") Then Lst.add(c.Caption) Else Lst.add(c.name)
Next
lst.sort()
lst.Reverse

For i As Integer = 0 To lst.count - 1
    Tables("统计表2").cols(lst(i)).move(2)
Next

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

总提示以下错误,这样的统计表要怎么排序呢,用If c.name.contains("_") Then Lst.add(c.name)或If c.Caption.contains("_") Then Lst.add(c.Caption)都不行

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

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


[此贴子已经被作者于2021/2/4 13:58:19编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1393 积分:10723 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/2/4 14:58:00 [显示全部帖子]

保存代码时提示

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


 回到顶部