以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教:这段代码为何要点二次才能刷新 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5946) |
-- 作者:yangming -- 发布时间:2010/2/5 18:07:00 -- 请教:这段代码为何要点二次才能刷新 下面的代码是一个刷新按钮中的,不知为何,非要点击二次,窗口表才能刷新数据 For Each dr As DataRow In drs For Each dc As DataCol In DataTables(Vars("表名")).DataCols MessageBox.Show("数据已刷新!", "提示") [此贴子已经被狐狸爸爸于2010-3-1 8:17:54编辑过]
|
-- 作者:czy -- 发布时间:2010/2/5 18:20:00 -- 除了第二和第三行的比较条件和比较值写法有点问题外,没看出有什么问题。 改这句看看: DataTables(Vars("表名")).Load() [此贴子已经被作者于2010-2-5 18:20:52编辑过]
|
-- 作者:czy -- 发布时间:2010/2/5 18:26:00 -- 哦,这不关加载的是,窗口的Table是用fill方法,按理只要保存后执行fill就不会有错啊。 |
-- 作者:yangming -- 发布时间:2010/2/5 18:41:00 -- 很奇怪,点第一次时,此内部表都没有改变,只有点第二次,才会改变,所以还是内部表的问题 |
-- 作者:czy -- 发布时间:2010/2/5 18:54:00 -- 全局变量中是什么表? |
-- 作者:czy -- 发布时间:2010/2/5 18:57:00 -- 不是不和fill中少了一个参数有关呢? 改成这样试试: Tables("XC_帐套默认_Table1").Fill("Select * From {"& Vars("表名") &"}","",False) |
-- 作者:程兴刚 -- 发布时间:2010/2/5 19:07:00 -- 没太细看,前半截代码能否改变方法,用RaiseDataColChanged来刷新所需表达式计算结果的列的值? |
-- 作者:yangming -- 发布时间:2010/2/5 19:16:00 -- 以下是引用czy在2010-2-5 18:54:00的发言:
全局变量中是什么表? 内部表 |
-- 作者:yangming -- 发布时间:2010/2/5 19:23:00 -- 以下是引用czy在2010-2-5 18:57:00的发言:
不是不和fill中少了一个参数有关呢? 改成这样试试: Tables("XC_帐套默认_Table1").Fill("Select * From {"& Vars("表名") &"}","",False) 结果一样 |
-- 作者:yangming -- 发布时间:2010/2/5 19:25:00 -- 以下是引用程兴刚在2010-2-5 19:07:00的发言:
没太细看,前半截代码能否改变方法,用RaiseDataColChanged来刷新所需表达式计算结果的列的值? 因为表格是动态生成的,所以无法在此表中设置任何表事件代码 |