以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论] 这条代码有什么不妥吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1192)

--  作者:wcs
--  发布时间:2008/11/20 23:27:00
--  [讨论] 这条代码有什么不妥吗?
vars("开始日期")=date.today
vars("结束日期")=date.today

我将它设置在打开窗口后执行。

同时,我在项目属性的事件中设置了这两个全局变量。

我在窗口中设置了日期控件,绑定到这两个全局变量。

我希望在打开窗口以后,默认将这两个全局变量设置为当天的日期。

只是,每次打开窗口,就出现“未定义的变量 开始日期”提示窗口,日期也不能自动赋值,不知何故。
[此贴子已经被作者于2008-11-20 23:27:38编辑过]

--  作者:czy
--  发布时间:2008/11/20 23:41:00
--  
我按你说的进行操作,没发现任何问题。
--  作者:wcs
--  发布时间:2008/11/20 23:49:00
--  
也有很疑惑!


图片点击可在新窗口打开查看此主题相关图片如下:出错.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2008-11-20 23:49:34编辑过]

--  作者:czy
--  发布时间:2008/11/20 23:54:00
--  
检查一下定义的全局变量名称是否正确。
--  作者:小狐
--  发布时间:2008/11/21 0:02:00
--  

可能要这样

vars.add("开始日期")=date.today
vars.add("结束日期")=date.today


--  作者:程兴刚
--  发布时间:2008/11/21 0:28:00
--  
以下是引用小狐在2008-11-21 0:02:00的发言:

可能要这样

vars.add("开始日期")=date.today
vars.add("结束日期")=date.today


l楼上前几天刚碰到这个问题,正解!


--  作者:狐狸爸爸
--  发布时间:2008/11/21 8:59:00
--  

Initialize

数据已经加载,所有的DataTable都已经生成,即将生成Table和窗口的时候执行,通常在此添加全局变量,以及针对DataTable的初始化设置。

例如将Initialize事件代码设为:

Vars.Add("Aggregate",GetType(Boolean),False)
DataTables
("订单").DataCols("日期").DefaultValue = Date.Today()

上面的代码增加了一个逻辑型全局变量Aggregate,并将订单表日期列的默认值设置当天日期。

利用Initialize事件,还可以动态设置列标题:

With DataTables("表B")
    .DataCols(
"Name").Caption = "姓名"
    .DataCols(
"ID").Caption = "编号"
    .DataCols(
"Date").Caption = "日期"
End
With

不能在Initialize事件中出现针对Table、Col和窗口的代码,因为此时上述对象还未生成。


--  作者:wcs
--  发布时间:2008/11/21 9:43:00
--  
我将它设置在afteropenproject中。


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2008-11-21 9:43:05编辑过]

--  作者:狐狸爸爸
--  发布时间:2008/11/21 9:44:00
--  
应该放在:Initialize事件中。
因为afteropenproject是在生成窗口后执行,所以会出现你说的问题。

--  作者:wcs
--  发布时间:2008/11/21 11:56:00
--  
已解决。