以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口临时表DataColChanged全局事件无效 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135322) |
-- 作者:lwjiee -- 发布时间:2019/5/23 16:06:00 -- 窗口临时表DataColChanged全局事件无效 窗口中,有一个Table控件 窗口的AfterLoad中,创建临时表 并打开全局的 DataColChanging 和 DataColChanged 然后再全局表事件中添加代码 但是DataColChanging可以正确触发,但是DataColChanged触发不到 为什么呢? 修改表里的数据后,行头并没有改变颜色成未保存行的状态,和 DataColChanged 没有触发 一个原因?
|
-- 作者:lwjiee -- 发布时间:2019/5/23 16:07:00 -- AfterLoad 中的代码: Dim dt As new DataTableBuilder("stock_find") \'创建临时表 dt.adddef("型号",Gettype(String),64) dt.adddef("数量",Gettype(Integer)) With Tables("stock_Table_stock") .DataSource = dt.Build(True) .Cols("型号").Width = 180 .Cols("数量").Width = 110 .AddNew(20) .DataTable.Save .AllowEdit = True .Cols("型号").DropForm = "fast_input_pn" .DataTable.GlobalHandler.KeyPressEdit = True .DataTable.GlobalHandler.KeyDownEdit = True .DataTable.GlobalHandler.ChangeEdit = True .DataTable.GlobalHandler.ValidateEdit = True .DataTable.GlobalHandler.DataColChanging = True .DataTable.GlobalHandler.DataColChanged = True End With
|
-- 作者:lwjiee -- 发布时间:2019/5/23 16:13:00 -- 把 表格控件的 作为副本属性 修改为 False 后, 改变行内容,行头会显示未保存的颜色了 但是 DataColChanged全局表时间还是没有触发 |
-- 作者:lwjiee -- 发布时间:2019/5/23 16:15:00 -- RaiseDataColChanged 才可以触发全局表的 DataColChanged 事件 |
-- 作者:有点甜 -- 发布时间:2019/5/23 16:23:00 -- 试试改成
e.form.controls("Table_stock").Table.datasource = dt.BuildDataSource
|
-- 作者:lwjiee -- 发布时间:2019/5/23 16:29:00 -- 天呐,可以了 啥原因啊 主要是 e.form.controls("Table_stock").Table.datasource = dt.BuildDataSource 这句话导致的 下面那句 With 改不改都不影响 .DataSource = dt.Build(True) 为什么不行呢? |
-- 作者:lwjiee -- 发布时间:2019/5/23 16:44:00 -- 确实好使了,谢谢啦!!! 原因是什么呢?
|
-- 作者:有点甜 -- 发布时间:2019/5/23 18:44:00 -- 尽量这样处理
e.form.controls("Table_stock").Table.datasource = dt.BuildDataSource |