以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]列名排序  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=171814)

--  作者:lgj716330
--  发布时间:2021/9/10 15:30:00
--  [求助]列名排序

图片点击可在新窗口打开查看此主题相关图片如下:8899.png
图片点击可在新窗口打开查看
统计生成的table,列名是数字,如何按从小到大顺序排序
[此贴子已经被作者于2021/9/10 15:30:35编辑过]

--  作者:有点蓝
--  发布时间:2021/9/10 15:37:00
--  
方法1、把列名改为“01”,“02”这种
dim d1() as integer = {10,9,8,7,...}
for i as integer = o to d1.length then
Tables("统计表").Cols(cstr(d1(i))).Move(1)
next

--  作者:lgj716330
--  发布时间:2021/9/10 18:11:00
--  
Dim d1() As Integer = {dc.Caption}
Array.Sort(d1)
For i As Integer = 0 To d1.length-1
Tables("统计表_Table2").Cols(cstr(dic(d1(i)))).Move(2)
Next

标颜色处我写成这样,结果是能出来,但排序没成功
[此贴子已经被作者于2021/9/10 18:26:16编辑过]

--  作者:有点蓝
--  发布时间:2021/9/11 8:57:00
--  
请上传实例说明
--  作者:lgj716330
--  发布时间:2021/9/11 10:12:00
--  
序号是不固定的,可能是1-10,也可能是1-20。版本较低,麻烦代码贴出来下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.foxdb



--  作者:有点蓝
--  发布时间:2021/9/11 10:48:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.zip


--  作者:lgj716330
--  发布时间:2021/9/11 10:58:00
--  
版本低打不开,麻烦代码贴一下,谢谢
--  作者:有点蓝
--  发布时间:2021/9/11 11:18:00
--  
Dim b As New CrossTableBuilder("统计表",DataTables("表A"))
Dim  dt As   fxDataSource
b.HGroups.AddDef("工厂")
b.VGroups.AddDef("序号")
b.totals.AddDef("总数量")
dt =   b.BuildDataSource()

Dim b1 As New GroupTableBuilder("统计表1",DataTables("表B"))
Dim  dt1 As   fxDataSource
b1.Groups.AddDef("工厂")
b1.Groups.AddDef("姓名")
dt1 =   b1.BuildDataSource()

Dim  nms As String() = {"工厂"}
dt1.Combine(nms,dt,nms)
\'dt1.Show("统计表1")

Tables("窗口1_Table1").DataSource = dt1

Dim dic As new Dictionary(of String, String)
Dim Lst As New List(Of Integer)
For Each dc As Col  In Tables("窗口1_Table1").cols
    If dc.name<>"工厂" And dc.name<>"姓名" Then
        dic.add(dc.Caption, dc.name)
        Lst.Add(dc.Caption)
    End If
Next
Lst.Sort
For i As Integer = Lst.count-1 To 0 Step -1
    Tables("窗口1_Table1").Cols(dic(Lst(i))).Move(2)
    
Next