以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]窗口中表控件的动态绑定和事件设置问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66108)

--  作者:九易六
--  发布时间:2015/3/30 13:47:00
--  [求助]窗口中表控件的动态绑定和事件设置问题

如下图所示,我想在窗口中根据①号表选择的内容,(从指定数据表的指定列提取不重复的值 + 9个固定的逻辑列),动态生成②号表,并且需要设置②号表的AfterEdit事件。(设置AfterEdit事件的目的是当“查询”、“录入”等逻辑列的状态发生改变时,可以生成一个对应的字符串,后续再对此字符串进行编辑)。

图片点击可在新窗口打开查看

http://pan.baidu.com/s/1kToW5fh

 

 

困难:

我使用QueryBuilder生成表,再向其添加9个固定的逻辑列,然后绑定到“②号表”,但无法设置AfterEdit事件

使用SQLTable型Table控件,可以设置AfterEdit事件,但无法动态设置绑定表。

 

问题:

①如何能动态设置SQLTable型表控件的筛选字符串?

②如果不能动态设置,应当采取什么样的方式满足上面的业务需求?


--  作者:Bin
--  发布时间:2015/3/30 13:50:00
--  
可以设置全局表事件


1.同样是设置FIlter啊  tables("XX_XX").FIlter

--  作者:有点甜
--  发布时间:2015/3/30 14:06:00
--  

 你想说什么?

 

 Tables("窗口1_Table1").Filter = "你的筛选条件"

 

 至于AfterEdit事件,你可以用全局表事件去处理,开启一下,参考 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=66068&skin=0

 


--  作者:九易六
--  发布时间:2015/3/30 14:26:00
--  

这是模仿用友U8 ERP当中的数据权限设置。

 

操作流程举例如下:

如果①号表选择“分公司”→从分公司基础档案当中提取公司ID、公司名称、主管会计3列→加上9个逻辑列→绑定到②号表的位置

如果①号表选择“业务员”→从业务员基础档案当中提取人员Id、人员姓名、部门3列   →  加上9个逻辑列→绑定到②号表的位置

如果①号表选择“仓库”→从仓库基础档案当中提取仓库ID、仓库名称2列  → 加上9个逻辑列→绑定到②号表的位置

…… 依次类推

 

所以,不能使用 Tables("窗口1_Table1").Filter


--  作者:有点甜
--  发布时间:2015/3/30 14:28:00
--  

 1、用 QueryBuilder,就请用全局表事件;

 

 2、如果用 QueryTable,就在窗口表事件那里写代码。


--  作者:九易六
--  发布时间:2015/3/30 14:49:00
--  

SQLTable型表控件的Select语句可以用代码来设置吗?


--  作者:Bin
--  发布时间:2015/3/30 14:50:00
--  
可以  http://www.foxtable.com/help/topics/2912.htm
--  作者:有点甜
--  发布时间:2015/3/30 14:50:00
--  

 可以 http://www.foxtable.com/help/topics/2912.htm

 


--  作者:九易六
--  发布时间:2015/3/30 15:02:00
--  
谢谢甜老师!