Foxtable(狐表)用户栏目专家坐堂 → 转置


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

主题:转置

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110495 积分:562359 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/20 14:14:00 [显示全部帖子]

逻辑基本一样

Dim dtb As New DataTableBuilder("B")
dtb.AddDef(
"类型"Gettype(String), 32)
For Each 
v As String In DataTables("A").GetValues("平台名称")
    
dtb.AddDef(v, Gettype(string))
Next

dtb.Build()

For Each 
c As datacol In DataTables("A").datacols
if c.name <> "平台名称"
    Dim dr1 As DataRow = DataTables("B").AddNew()
    dr1(
"类型") = dc.name
    
For Each dr2 As DataRow In DataTables("A").datarows
       dr1(dr2("平台名称")) = dr2(dc.name)
    
Next
end if
Next
MainTable = Tables(
"表B")

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110495 积分:562359 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/20 14:34:00 [显示全部帖子]

c.name

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110495 积分:562359 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/20 14:45:00 [显示全部帖子]

请上传实例说明

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110495 积分:562359 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/22 12:03:00 [显示全部帖子]

For Each dr2 As DataRow In DataTables("业绩分析").datarows

改为

For Each dr2 As DataRow In DataTables("业绩分析").select("","月销售金额")

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110495 积分:562359 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/22 13:38:00 [显示全部帖子]

嗯,列顺序是固定的。生成列名的时候就要排序了

Dim dtb As New DataTableBuilder("B")
dtb.AddDef(
"类型"Gettype(String), 32)
For Each 
v As String In DataTables("A").GetValues("平台名称","","月销售金额")
    dtb.AddDef(v, Gettype(string))
Next

dtb.Build()

 回到顶部