以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 发现一个窗口加载的问题(已解决) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5949)
|
-- 作者:yangming
-- 发布时间:2010/2/6 13:47:00
-- 发现一个窗口加载的问题(已解决)
窗口中有一目录树和一个表 目录树的NodeMouseClick事件代码为: Tables("RS_项目管理_Table1").Fill("Select * From {"& e.Node.Name &"}","rs",False) 但是我发现,如果其中有一个表是双层列标题,当选过此表后,再选其它的单层列标题的表时,仍会出现双层列,只不过是第二层列标题是空的,这一定是的BUG了,请看下图
此主题相关图片如下:双层列.jpg
[此贴子已经被作者于2010-2-6 17:29:13编辑过]
|
-- 作者:czy
-- 发布时间:2010/2/6 16:11:00
--
一直都是这样的。
|
-- 作者:yangming
-- 发布时间:2010/2/6 16:31:00
--
以下是引用czy在2010-2-6 16:11:00的发言: 一直都是这样的。
才发现,有无办法或是变通办法?
|
-- 作者:czy
-- 发布时间:2010/2/6 16:44:00
--
如果知道fill的是只有一层表头的话很容易解决,如: Tables("窗口名_Table1").SetHeaderRowHeight(20,0)
|
-- 作者:yangming
-- 发布时间:2010/2/6 16:57:00
--
有没有办法判断是多层表头还是单层表头?
|
-- 作者:czy
-- 发布时间:2010/2/6 16:58:00
--
这样试试:
Dim s As String Tables("RS_项目管理_Table1").Fill("Select * From {"& e.Node.Name &"}","rs",False) For Each dc As DataCol In DataTables(e.Node.Name).DataCols if dc.Caption <> "" s = s & "|" & dc.Caption Else s = s & "|" & dc.name End If Next if s.Contains("_") Then Tables("窗口1_Table1").SetHeaderRowHeight(20,0) End If
|
-- 作者:yangming
-- 发布时间:2010/2/6 17:04:00
--
目前只能是先这样了 If e.Node.Name = "家庭成员" Tables("RS_项目管理_Table1").SetHeaderRowHeight(20,20) Else Tables("RS_项目管理_Table1").SetHeaderRowHeight(20,0) End If
|
-- 作者:czy
-- 发布时间:2010/2/6 17:08:00
--
如果动态生成的表比较多,用6楼合适,就这两个表的话if更简单。
|
-- 作者:yangming
-- 发布时间:2010/2/6 17:28:00
--
以下是引用czy在2010-2-6 16:58:00的发言: 这样试试:
Dim s As String Tables("RS_项目管理_Table1").Fill("Select * From {"& e.Node.Name &"}","rs",False) For Each dc As DataCol In DataTables(e.Node.Name).DataCols if dc.Caption <> "" s = s & "|" & dc.Caption Else s = s & "|" & dc.name End If Next if s.Contains("_") Then Tables("窗口1_Table1").SetHeaderRowHeight(20,0) End If
我这样改了一下,因为表是在后台,谢谢CZY版主,呵呵
[此贴子已经被作者于2010-2-6 17:28:48编辑过]
|