以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  设置列宽  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=147439)

--  作者:outcat
--  发布时间:2020/3/17 0:15:00
--  设置列宽

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


老师,我一个统计功能要设置列宽,就像上图这样 ,要设置这种结构列的宽度,这个代码怎么写?

--  作者:有点蓝
--  发布时间:2020/3/17 8:34:00
--  
参考:http://www.foxtable.com/webhelp/topics/1775.htm

到表结构里查看真正的列名是什么

--  作者:outcat
--  发布时间:2020/3/17 10:35:00
--  

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

Dim g As New CrossTableBuilder("统计表1", DataTables("农户售粮明细表"))
Dim gz As fxDataSource
g.HGroups.AddDef("售粮日期",DateGroupEnum.year , "年")  \'增加分组列
g.HGroups.AddDef("售粮日期", "月")
g.HGroups.AddDef("农户姓名")
g.VGroups.AddDef("商品类别")
g.VGroups.AddDef("商品名称")
g.Totals.AddDef("金额")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Build()  \'生成统计表
g.Filter = Filter
gz = g.BuildDataSource()
Tables("农户售粮汇总_Table1").DataSource = gz
Tables("农户售粮汇总_Table1").SetColVisibleWidth("年|70|月|70|农户姓名|80|商品类别|70|商品名称|70|合计|80")

我是通过这段代码 出来的汇总表,上面是 商品类别,下面是 商品名称,可这样设置完了,商品类别,商品名称,这个在汇总表里显示不出来,现在是这个怎么表示呢

--  作者:有点蓝
--  发布时间:2020/3/17 11:41:00
--  
到命令窗口执行下面代码,然后到表结构里看看统计表真正的列名是什么

Dim g As New CrossTableBuilder("统计表1", DataTables("农户售粮明细表"))
g.HGroups.AddDef("售粮日期",DateGroupEnum.year , "年")  \'增加分组列
g.HGroups.AddDef("售粮日期", "月")
g.HGroups.AddDef("农户姓名")
g.VGroups.AddDef("商品类别")
g.VGroups.AddDef("商品名称")
g.Totals.AddDef("金额")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Build()  \'生成统计表

--  作者:outcat
--  发布时间:2020/3/17 12:30:00
--  
生成的是 金额_1,金额_2、、、,我像下面这个写了,不写金额_2,则第二个商品就不能显示出来,

Tables("农户售粮汇总_Table1").SetColVisibleWidth("年|70|月|70|农户姓名|80|金额_1|150|合计|80")

这个如何修改呢

--  作者:有点蓝
--  发布时间:2020/3/17 13:48:00
--  
dim  s as string = "年|70|月|70|农户姓名|80"
for each c as col in Tables("农户售粮汇总_Table1").cols
if c.name.contains("_") then
s = s & "|" & c.name & "|150"
end if
next
s = s & "|合计|80"
msgbox(s)
Tables("农户售粮汇总_Table1").SetColVisibleWidth(s)