以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  窗口控件赋值,会拖慢打开窗口速度  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=195918)

--  作者:王小风
--  发布时间:2025/3/20 19:28:00
--  窗口控件赋值,会拖慢打开窗口速度
e.Form.Controls("rb-qb").Checked = True
e.Form.Controls("dp-drq").Value = Date.Today
Dim a As Date = e.Form.Controls("dp-drq").Value
Dim a1 As Date = a.AddDays( - 60)
e.Form.Controls("dp-crq").Value = a1
Dim crq As WinForm.DateTimePicker = e.Form.Controls("dp-crq")
Dim drq As WinForm.DateTimePicker = e.Form.Controls("dp-drq")

Tables("备件出入库").Filter = "[出入库日期] >= #" & crq.Value & "#" & "and [出入库日期] <= #" & drq.Value & "#"
e.Form.Controls("b-rqsx").Text = "筛选中"
老师们在AfterLoad事件中写这个代码给日期赋值会使窗口打开非常慢,有什么好方法吗?

--  作者:有点蓝
--  发布时间:2025/3/20 19:59:00
--  
给日期赋值不会导致慢的,可能是筛选引起的,或者是触发了控件的什么事件
--  作者:王小风
--  发布时间:2025/3/21 13:31:00
--  
找到问题原因了,是赋值时会触发控件的筛选,还有个问题:怎么在打开窗口(初始化)时控件赋值 不触发控件筛选! 
--  作者:有点蓝
--  发布时间:2025/3/21 13:31:00
--  
http://www.foxtable.com/webhelp/topics/2218.htm
--  作者:程兴刚
--  发布时间:2025/3/21 13:46:00
--  
写代码没必要那么啰嗦:
Dim a As Date = Date.Today
Dim a1 As Date = a.AddDays( - 60)
e.Form.Controls("b-rqsx").Text = "筛选中"
Tables("备件出入库").Filter = "[出入库日期] >= #" & a1 & "#" & "and [出入库日期] <= #" & a & "#"
e.Form.Controls("rb-qb").Checked = True
e.Form.Controls("dp-drq").Value = a
e.Form.Controls("dp-crq").Value = a1

您就不能先筛选后给控件赋值试试。
[此贴子已经被作者于2025/3/21 13:47:34编辑过]

--  作者:王小风
--  发布时间:2025/3/22 9:03:00
--  
搞明白了!因为日期输入框有两个 都有很多的代码,赋值后会连续触发两个控件的代码,导致打开速度变慢