以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]SQLGroupTableBuilder提示输出别名错误 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=79608) |
||||
-- 作者:chnfo -- 发布时间:2016/1/5 22:29:00 -- [求助]SQLGroupTableBuilder提示输出别名错误 内部表A和B。 新建一个窗口,放一个button,一个Normal型的表,不绑定任何表。 button事件如下: Dim tbl As Table = e.Form.Controls("Table1").Table Dim g As New SQLGroupTableBuilder("KK", "A") g.AddTable("A","BID","B","ID") g.Groups.AddDef("Mon") g.Groups.AddDef("BC") g.Totals.AddExp("X","WC - WL") g.Totals.AddExp("Y","EC - EL ") g.Build() ‘-----------注意到如果不加这一句,就没有问题 tbl.DataSource = g.BuildDataSource() 运行的结果报出错误如下: 统计错误,错误原因: 输出别名“X”重复。 如果把这一句注释掉就没有问题。 g.Build() ‘-----------注意到如果不加这一句,就没有问题 这是为什么呢?因为我想用KK表来定制模板输出报表。
|
||||
-- 作者:大红袍 -- 发布时间:2016/1/5 22:39:00 -- 不要重复build,重复肯定会报错。
你可以这样写
tbl.DataSource = DataTables("KK")
或者去掉 g.Build(),你可以用副本表来定制模板嘛,和直接用KK是一样的意思。 |
||||
-- 作者:chnfo -- 发布时间:2016/1/5 23:05:00 -- 本来是想如此,但我试之后,发现在窗口表加载事件中的字体设置就失效了。比如用了dim fnt as new font(currenttable.font.name,12,tbl.font.style) tbl.font =fnt,里示出来的还是9号字 |
||||
-- 作者:大红袍 -- 发布时间:2016/1/5 23:15:00 -- 这样写,绝对有效
tbl.DataSource = DataTables("KK") dim fnt as new font(tbl.font.name,12,tbl.font.style) tbl.font =fnt |
||||
-- 作者:chnfo -- 发布时间:2016/1/7 17:09:00 -- Dim tbl As Table = e.Form.Controls("Table1").Table Dim jb As new SQLJoinTableBuilder("cs","A") jb.ConnectionName 等于 "连接名" \'---如果用=,显示出来就是ab.c了,代替一下 jb.AddTable("A","BID","B","ID") jb.AddCols("AA", "AB","AC","{B}.ID") jb.AddExp("SaveA","表达式一") jb.AddExp("SaveB","表达式二") Dim g As new GroupTableBuilder("TempABC",jb.BuildSQL) jb.ConnectionName 等于 "连接名" g.Groups.AddDef("AA") g.Groups.AddDef("AB") g.Totals.AddDef("SaveA") g.Totals.AddDef("SaveB") g.Build() \'生成统计表 \'tbl.DataSource = g.BuildDataSource() \'--如果用这一行,窗口表显示的就是12的字体 tbl.DataSource = DataTables("TempABC") ‘--如果有管一行,窗口显示的还是9的字体 Dim fnt As New Font(tbl.Font.Name, 12, tbl.Font.Style) tbl.Font = fnt 另外,袍兄说 或者去掉 g.Build(),你可以用副本表来定制模板嘛,和直接用KK是一样的意思 这个用副本表来定制模板,要咋个整法? 这么神奇?
[此贴子已经被作者于2016/1/7 17:14:33编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2016/1/7 17:11:00 -- 不,可,能,上传例子。 |
||||
-- 作者:chnfo -- 发布时间:2016/1/7 17:19:00 -- 哈哈,晚上回去整个你看 |
||||
-- 作者:chnfo -- 发布时间:2016/1/7 20:45:00 -- 袍兄,窗口中把12号字的按钮多点两次,表中的字就成9号了。右边是不设字体的表 |
||||
-- 作者:chnfo -- 发布时间:2016/1/7 21:09:00 -- 袍兄,这是附件
|
||||
-- 作者:大红袍 -- 发布时间:2016/1/7 21:34:00 -- Dim fnt As New Font(tbl.Font.Name, 12, tbl.Font.Style) Tables("KKK").Font = fnt tbl.DataSource = DataTables("KKK") tbl.Font = fnt |