以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70650)
|
-- 作者:jianghong_11140
-- 发布时间:2015/6/25 17:27:00
-- 求助
截图见下图:
此主题相关图片如下:qq图片20150625171607.png
窗口中目录树依据所有者表生成,上面两个表与下面的表建立了关联,三个表中数据列企业名称、证照名称列内容编辑后,以及通过增加行、删除行、克隆行按钮操作三个表后,希望目录树同步更新。用全局表事件datacolchanged能否实现?或者用在窗口中设置一个不可见按钮,click事件代码为生成目录树的代码,然后用performclick模拟触发实现?
|
-- 作者:Bin
-- 发布时间:2015/6/25 17:30:00
--
最好就是,做个刷新按钮. 然后点击刷新.
写到DataColChanged事件去,效率很低
非要那么做,也可以写成内部函数,然后到事件调用
|
-- 作者:jianghong_11140
-- 发布时间:2015/6/25 17:32:00
--
谢谢!
|
-- 作者:jianghong_11140
-- 发布时间:2015/6/25 17:46:00
--
我想实现自动更新目录树,不用全局表事件(效率低),还有办法没?
|
-- 作者:大红袍
-- 发布时间:2015/6/25 18:16:00
--
写到datacolchanged事件去即可。
|
-- 作者:jianghong_11140
-- 发布时间:2015/6/25 19:01:00
--
谢了!
|
-- 作者:jianghong_11140
-- 发布时间:2015/6/25 19:44:00
--
所有者表datacolchanged事件代码如下:
Select Case e.DataCol.Name Case "企业名称","证照名称" If Forms("企业证照管理").Opened Then Dim trv As WinForm.TreeView = Forms("企业证照管理").Controls("TreeView1") trv.BuildTree("证照内容","企业名称|证照名称") trv.Nodes.Insert("显示所有企业证照",0) trv.ExpandAll End If End Select
应该解决问题了吧?
谢谢两位老师指导!
|
-- 作者:jianghong_11140
-- 发布时间:2015/6/25 19:51:00
--
好像删除行和添加行后不能自动更新。还要在所有者表datarowdeleted事件和datarowaddeg事件设置重建目录树代码如下:
Dim trv As WinForm.TreeView = Forms("企业证照管理").Controls("TreeView1") trv.BuildTree("证照内容","企业名称|证照名称") trv.Nodes.Insert("显示所有企业证照",0) trv.ExpandAll
两位老师,我理解的对不?
|
-- 作者:大红袍
-- 发布时间:2015/6/25 20:00:00
--
添加行可以不加代码;
删除行,添加一下代码
|
-- 作者:jianghong_11140
-- 发布时间:2015/6/25 20:02:00
--
明白了!谢谢!
|