以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 转置 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160757)
|
-- 作者:yetle
-- 发布时间:2021/2/20 13:51:00
-- 转置
跟帮助的垂直表和水平表的转换有所不同,下图所示,怎么处理?此主题相关图片如下:a29f91d1-eab8-447e-af09-4839a3c59c09.png
|
-- 作者:有点蓝
-- 发布时间: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")
|
-- 作者:yetle
-- 发布时间:2021/2/20 14:30:00
--
提示dc.name处dc未定义,改为c.name也没有数据呢
[此贴子已经被作者于2021/2/20 14:35:33编辑过]
|
-- 作者:有点蓝
-- 发布时间:2021/2/20 14:34:00
--
c.name
|
-- 作者:yetle
-- 发布时间:2021/2/20 14:38:00
--
改为c.name也没有数据呢 此主题相关图片如下:db588dab-0097-4cb1-be92-2b5d3e990df7.png
|
-- 作者:有点蓝
-- 发布时间:2021/2/20 14:45:00
--
请上传实例说明
|
-- 作者:yetle
-- 发布时间:2021/2/22 11:49:00
--
调试好了,有数据了For Each c As DataCol In DataTables("业绩分析").datacols If c.name <> "平台店铺名称" Dim dr1 As DataRow = DataTables("横向业绩分析").AddNew() dr1("类型") = c.name For Each dr2 As DataRow In DataTables("业绩分析").datarows dr1(dr2("平台店铺名称")) = dr2(c.name) Next End If Next Dim ta As Table = Forms("业绩分析").Controls("Table1").Table ta.datasource = DataTables("横向业绩分析") 我想生成的横向数据是按月销售金额依次排列,要怎么修改。 此主题相关图片如下:31438d4f-6ae2-4183-be74-070a77a351d0.png
[此贴子已经被作者于2021/2/22 11:50:42编辑过]
|
-- 作者:有点蓝
-- 发布时间:2021/2/22 12:03:00
--
For Each dr2 As DataRow In DataTables("业绩分析").datarows
改为
For Each dr2 As DataRow In DataTables("业绩分析").select("","月销售金额")
|
-- 作者:yetle
-- 发布时间:2021/2/22 13:15:00
--
顺序没有发生改变
|
-- 作者:有点蓝
-- 发布时间: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()
|