Foxtable(狐表)用户栏目专家坐堂 → 发现一个窗口加载的问题(已解决)


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

主题:发现一个窗口加载的问题(已解决)

美女呀,离线,留言给我吧!
yangming
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
发现一个窗口加载的问题(已解决)  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/2/6 16:11:00 [只看该作者]

一直都是这样的。

 回到顶部
美女呀,离线,留言给我吧!
yangming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/2/6 16:31:00 [只看该作者]

以下是引用czy在2010-2-6 16:11:00的发言:
一直都是这样的。

才发现,有无办法或是变通办法?


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/2/6 16:44:00 [只看该作者]

如果知道fill的是只有一层表头的话很容易解决,如:
Tables("窗口名_Table1").SetHeaderRowHeight(20,0)

 回到顶部
美女呀,离线,留言给我吧!
yangming
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2010/2/6 16:57:00 [只看该作者]

有没有办法判断是多层表头还是单层表头?

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/2/6 17:08:00 [只看该作者]

如果动态生成的表比较多,用6楼合适,就这两个表的话if更简单。


 回到顶部
美女呀,离线,留言给我吧!
yangming
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By: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编辑过]

 回到顶部