以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]分组列的标题改不了 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69316) |
||||
-- 作者:chnfo -- 发布时间:2015/6/2 22:58:00 -- [求助]分组列的标题改不了 Dim X As new SQLJoinTableBuilder("AAA","FM") \'X.C \'不知道什么原因,会显示为XC,本来是显示连接外部表的名称ConnectionName Dim Cols1() As String = {"PID","CID"} Dim Cols2() As String = {"PID","ID"} Dim Cols3() As String = {"PID","BID"} X.AddTable("FM",Cols1,"CON",Cols2) X.AddTable("CON",Cols3,"B",Cols2) X.Filter = "{CON}.PID = \'P001\'" X.AddCols("{CON}.PID", "{CON}.ID","Type","AP","V","FMType","{B}.Title") Dim Y As new CrossTableBuilder("BB",X.BuildSQL,"CS001") Y.HGroups.AddDef("Title") ‘------Y.HGroups.AddDef("Title","Title","名称“) ,试了一下,好象这样在交叉表的界面上还是显示Title而不是名称 Y.HGroups.AddDef("AP") ‘------Y.HGroups.AddDef("AP","AP","月份“) ,,试了一下,好象这样在交叉表的界面上还是显示AP而不是月份 Y.VGroups.AddDef("FMType") Y.Totals.Adddef("V","本次") Y.Totals.AddDef("V", "合计", True) Y.Filter = "PID = \'P001\' and Type = 1" Dim tbl As Table = e.Form.Controls("Table1").Table tbl.DataSource = Y.BuildDataSource() Dim CurDT As DataTable = tbl.DataTable ‘--------想用这种方式来重构表标题,也不行,下面这种方法只是将AP列显示为了月份,Title列还是不能显示为“名称" For i As Integer = 1 To CurDT.DataCols.count - 1 CurDT.DataCols(i).Caption = CurDT.DataCols(i).Caption.Replace("1","AAA").Replace("2","BBB").Replace("Title","名称").Replace("AP","月份") Next CurDT.BuildHeader 我是希望在窗口中的table1中,Title列显示为"名称“,AP列显示为"月份" 请教:问题出在哪里呢?难道是因为这个的区别? X.AddCols("{CON}.PID", "{CON}.ID","Type","AP","V","FMType","{B}.Title") 补充:试了一下Replace("Type","分类"),可以成功,但{CON}.PID、{CON}.ID、{B}.Title都不行 pu
[此贴子已经被作者于2015/6/2 23:08:45编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2015/6/2 23:13:00 -- 例子发上来。 |
||||
-- 作者:大红袍 -- 发布时间:2015/6/2 23:14:00 -- 不可以查看一下生成的表的 表结构的啊 |
||||
-- 作者:chnfo -- 发布时间:2015/6/2 23:29:00 -- 上传附件
试过了,AP的caption会改过来,但Title不行
[此贴子已经被作者于2015/6/2 23:37:40编辑过]
|
||||
-- 作者:Bin -- 发布时间:2015/6/3 8:51:00 -- 不行就生成后手动修改吧 |
||||
-- 作者:大红袍 -- 发布时间:2015/6/3 9:17:00 -- 1、Y.HGroups.AddDef("Title", "新列名")
2、从0开始
For i As Integer = 0 To CurDT.DataCols.count - 1 |
||||
-- 作者:chnfo -- 发布时间:2015/6/3 14:15:00 -- 再请教。如果有多个表有title列,并且全部都addcols,在 Y.HGroups.AddDef("Title", "新列名") 中如何引用?试过输入{A} .title不行,A.title也不行 |
||||
-- 作者:大红袍 -- 发布时间:2015/6/3 14:24:00 -- 你看 X.BuildSQL 的字符串是什么。
拷贝出来,去sql测试窗口测试,看运行得到的表是什么样的。 |
||||
-- 作者:chnfo -- 发布时间:2015/6/6 20:34:00 -- 红袍兄6楼正解。 如果直接生成查询表,Y.HGroups.AddDef("Title", "新列名","新标题"),这里的新标题在查询表中起作用。 如果生成的是窗口表,那么直接设置的列标题就不起作用了
|