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


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

主题:[求助]列名排序

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


加好友 发短信
等级:六尾狐 帖子:1295 积分:10009 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]列名排序  发帖心情 Post By:2021/9/10 15:30:00 [只看该作者]


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

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1295 积分:10009 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/11 8:57:00 [只看该作者]

请上传实例说明

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


加好友 发短信
等级:六尾狐 帖子:1295 积分:10009 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/9/11 10:12:00 [只看该作者]

序号是不固定的,可能是1-10,也可能是1-20。版本较低,麻烦代码贴出来下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.foxdb



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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/11 10:48:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.zip


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


加好友 发短信
等级:六尾狐 帖子:1295 积分:10009 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/9/11 10:58:00 [只看该作者]

版本低打不开,麻烦代码贴一下,谢谢

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部