以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  能把窗口的控件相关信息保存在表里,在窗口加载时用函数调出来吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=28030)

--  作者:xuezxz
--  发布时间:2013/1/16 19:29:00
--  能把窗口的控件相关信息保存在表里,在窗口加载时用函数调出来吗?

如题

Dim A As List(of DataRow) = DataTables("表").Select("窗口 = \'" & args(0) & "\'")
For Each B As DataRow In A

   forms(B("窗口")).Controls(B("控件名")).B("控件属性") = B("属性值")
Next

 

怎么让 B("控件属性") 这个部分也能用变量代替?

[此贴子已经被作者于2013-1-16 19:33:43编辑过]

--  作者:xuezxz
--  发布时间:2013/1/16 19:37:00
--  

哎呀,这个积分不错,666


--  作者:lin_hailun
--  发布时间:2013/1/16 21:07:00
--  
可以,就是比较麻烦。用动态编译吧。

http://www.foxtable.com/help/topics/1487.htm

--  作者:xuezxz
--  发布时间:2013/1/16 22:29:00
--  

林帅,动态编译怎么实现啊?和预先设定的函数有什么区别? forms(B("窗口")).Controls(B("控件名")).B("控件属性") = B("属性值")
这句可以这么用吗?


--  作者:xuezxz
--  发布时间:2013/1/17 8:39:00
--  
每天一顶,求关注
--  作者:lin_hailun
--  发布时间:2013/1/17 8:52:00
--  
做一个简单的例子吧。

 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:xuezxz
--  发布时间:2013/1/17 11:28:00
--  

林帅,还不行啊,什么情况啊?

 

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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:没重复提交啊.table


--  作者:blackzhu
--  发布时间:2013/1/17 11:57:00
--  
你函数呢 没有呀
--  作者:lin_hailun
--  发布时间:2013/1/17 12:01:00
--  
 不知道你要实现什么。关键是你要把想要执行的代码用字符串构造出来,你自己msgbox(code)看看哪里写错了吧。

 注意的是 两个双引号 等于一个双引号, 比如 dim a as string = """" & "abc" & """"

 msgbox(a) 的值是 "abc"
[此贴子已经被作者于2013-1-17 12:02:10编辑过]

--  作者:xuezxz
--  发布时间:2013/1/17 12:53:00
--  

 

AfterOpenProject

 

Dim Code As String

code = "Dim A As List(of DataRow) = DataTables(""" & "表A" & """).Select(""" & "窗口名 = \'""" & " & args(0) & " & """\'"")" & vbcrlf

code = code & "For Each B As DataRow In A" & vbcrlf

code = code & "forms(B(""" & "窗口名" & """)).Controls(B(""" & "控件名" & """)).B(""" & "控件属性" & """) = B(""" & "值" & """)" & vbcrlf

code = code & "Next"

msgbox(code)

Functions.remove("动态编译")

Functions.add("动态编译", Code)

Functions.Complie()

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

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