以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]加载表后为什么非要重新打开一次窗口才能发挥作用? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102868) |
-- 作者:新福星 -- 发布时间:2017/6/27 9:48:00 -- [求助]加载表后为什么非要重新打开一次窗口才能发挥作用? 一个窗口涉及到 "角色"和"角色分配"两个表,系统打开时没有加载。 在这个窗口的AfterLoad事件中加入如下语句: Dim zz() As String={"角色","角色分配"} For Each x As String In zz If DataTables.Contains(x) = False Then \'如果表C没有加载 DataTables.Load(x) \'加载表C End If Next 这时打开的窗口时没有出错,但是角色表中的所有列没有展开,这是为什么? 再打开一次就好了!谢谢 [此贴子已经被作者于2017/6/27 9:48:18编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/6/27 10:26:00 -- 必须在窗口打开前进行加载 |
-- 作者:有点色 -- 发布时间:2017/6/27 11:16:00 -- 方法一:打开窗口前加载;
方法二:打开窗口两次,第一次打开加载表,然后重新打开一次。 |
-- 作者:新福星 -- 发布时间:2017/6/27 14:01:00 -- 方法一有效;方法二无效,第二次打开时会报错,请这个表已经加载了! |
-- 作者:有点色 -- 发布时间:2017/6/27 15:36:00 -- 以下是引用新福星在2017/6/27 14:01:00的发言:
方法一有效;方法二无效,第二次打开时会报错,请这个表已经加载了!
方法二:你afterLoad事件的代码怎么写的?
[此贴子已经被作者于2017/6/27 15:37:32编辑过]
|
-- 作者:有点色 -- 发布时间:2017/6/27 15:40:00 -- 方法二:AfterLoad事件
If DataTables.Contains("表A") = False Then |
-- 作者:kaituozhe -- 发布时间:2017/11/26 12:04:00 -- 我是用以下代码打开窗口的,按6楼的方法修改,需要怎么修改 If e.Node.Level = 1 Then |
-- 作者:有点甜 -- 发布时间:2017/11/26 16:25:00 -- 无法在AfterLoad事件处理,必须在你打开窗口之前把表格加载出来,才行。 |
-- 作者:kaituozhe -- 发布时间:2017/11/26 16:54:00 -- 由于每个窗口中所加载的表是不一样的,没有法写代码实现先加载后打开窗口,要想实现6楼的目的,只能先打开窗口再关闭再打开窗口了,是这样吗? |
-- 作者:有点甜 -- 发布时间:2017/11/26 18:14:00 -- 以下是引用kaituozhe在2017/11/26 16:54:00的发言:
由于每个窗口中所加载的表是不一样的,没有法写代码实现先加载后打开窗口,要想实现6楼的目的,只能先打开窗口再关闭再打开窗口了,是这样吗?
你目前这个功能,只能先加载表,再打开窗口。 |