Foxtable(狐表)用户栏目专家坐堂 → [求助]分组列的标题改不了


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

主题:[求助]分组列的标题改不了

帅哥哟,离线,有人找我吗?
chnfo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]分组列的标题改不了  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/2 23:13:00 [只看该作者]

 例子发上来。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/2 23:14:00 [只看该作者]

 不可以查看一下生成的表的 表结构的啊


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2015/6/2 23:29:00 [只看该作者]

上传附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目29.zip


试过了,AP的caption会改过来,但Title不行
[此贴子已经被作者于2015/6/2 23:37:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/6/3 8:51:00 [只看该作者]

不行就生成后手动修改吧


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/3 9:17:00 [只看该作者]

 1、Y.HGroups.AddDef("Title", "新列名")  

 

 2、从0开始

 

For i As Integer = 0 To CurDT.DataCols.count - 1
    CurDT.DataCols(i).Caption = CurDT.DataCols(i).Caption.Replace("1","AAA").Replace("2","BBB").Replace("Title","名称").Replace("AP","月份")
Next


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2015/6/3 14:15:00 [只看该作者]

再请教。如果有多个表有title列,并且全部都addcols,在 Y.HGroups.AddDef("Title", "新列名") 中如何引用?试过输入{A} .title不行,A.title也不行

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/3 14:24:00 [只看该作者]

 你看 X.BuildSQL 的字符串是什么。

 

 拷贝出来,去sql测试窗口测试,看运行得到的表是什么样的。


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2015/6/6 20:34:00 [只看该作者]

红袍兄6楼正解。
如果直接生成查询表,Y.HGroups.AddDef("Title", "新列名","新标题"),这里的新标题在查询表中起作用。

如果生成的是窗口表,那么直接设置的列标题就不起作用了  

 回到顶部