以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- vars变量 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=148265) |
-- 作者:cd_tdh -- 发布时间:2020/4/3 14:44:00 -- vars变量 老师,我独立窗口(添加到页签的),窗口打开后都定义变量了变量 vars("editTable") =e.Form.TableName 后面录入窗口(或是审核窗口-通用的)用的模式窗口,可以直接用vars("editTable") 当我打开多个页签时,vars("editTable") 变量会出现混淆情况,这种有什么方法解决呢? [此贴子已经被作者于2020/4/3 14:44:42编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/3 14:48:00 -- 定义一个全局变量的字典,窗口名称做主键,表名称做值 |
-- 作者:cd_tdh -- 发布时间:2020/4/3 15:13:00 -- 请老师指导一下具体怎么定义,怎么用?
|
-- 作者:有点蓝 -- 发布时间:2020/4/3 15:15:00 -- 好好学学编程基础 |
-- 作者:cd_tdh -- 发布时间:2020/4/3 15:43:00 -- 老师,比如我全局代码定义: Dim ty As New Dictionary(Of String, String) 后面怎么来用呢? |
-- 作者:有点蓝 -- 发布时间:2020/4/3 15:52:00 -- 全局代码定义: public ty As New Dictionary(Of String, String) 使用 ty.add(e.Form.Name,e.Form.TableName) |
-- 作者:cd_tdh -- 发布时间:2020/4/3 17:29:00 -- 老师,还是没用来,来个实际的用法指导一下:比如我要分页加载:改怎么调用这个字典? With DataTables( ) [此贴子已经被作者于2020/4/3 17:29:43编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/3 17:38:00 -- With DataTables(ty(e.Form.Name) ) |
-- 作者:cd_tdh -- 发布时间:2020/4/7 9:04:00 -- 老师,窗口的afterload事件代码如下:
ty.add(e.Form.Name,e.Form.TableName)
会报错提示:
.NET Framework 版本:4.0.30319.42000
窗口打开后,在另一个独立窗口调用代码如下: Dim r As Row =Tables(ty(e.Form.Name)).Current 会报错提示: .NET Framework 版本:4.0.30319.42000 [此贴子已经被作者于2020/4/7 9:16:27编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/7 9:22:00 -- 判断一下,如果添加过就不要重复添加了 if ty.ContainsKey(e.Form.Name)=false then ty.add(e.Form.Name,e.Form.TableName) 如果是在afterload里面使用,直接使用e.Form.TableName即可,完全看不出使用字典的必要 With DataTables(e.Form.TableName) .LoadFilter = "" 除非是为了跨窗口使用,如果跨窗口使用,就不能使用ty(e.Form.Name),因为e.Form.Name指的是当前窗口名称,而不是其他窗口名称,应该是ty("日常费用支付管理")这种。审核窗口的错误看看是不是这个问题 |