以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何在某窗体禁用全局表事件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121600) |
-- 作者:huangxueyao -- 发布时间:2018/7/10 10:16:00 -- 如何在某窗体禁用全局表事件 For Each c As object In e.Form.Controls If Typeof c Is WinForm.Table Then \'判断控件是否是文本框 Dim t As Table = c.Table \'使用特定类型的变量引用控件 t.DataTable.DeleteFor("") t.DataTable.GlobalHandler.CurrentChanged = False t.DataTable.GlobalHandler.PositionChanged= False t.DataTable.GlobalHandler.AfterSelChange= False t.DataTable.GlobalHandler.AfterSelRangeChange= False t.DataTable.AddUserStyle("浅红", Color.MistyRose, Color.black) t.DataTable.AddUserStyle("浅蓝", Color.LightSkyBlue, Color.black) t.DataTable.AddUserStyle("浅黄", Color.PapayaWhip, Color.black) t.DataTable.AddUserStyle("浅绿", Color.LightGreen, Color.black) End If Next 某个窗体中我有多个查询表,在窗体afterload中我加了这样的代码 但是貌似全局表事件还是会执行,怎么破?
|
-- 作者:huangxueyao -- 发布时间:2018/7/10 10:36:00 -- 是因为我用了fill然后相当于重新加载了datatable?? |
-- 作者:huangxueyao -- 发布时间:2018/7/10 10:39:00 -- 或者用了SQLcommand加载的也要重新禁用? |
-- 作者:有点甜 -- 发布时间:2018/7/10 11:00:00 -- 1、测试是否执行,在对应事件加入代码,看状态栏是否变化
StatusBar.Message1 = e.Table.name & " " & Date.now StatusBar.Refresh
2、你重新fill或者重新设置datasource,全局表事件默认是不开启的,如果有问题,做个例子发上来测试。 |