以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 实时刷新统计数的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=49146) |
||||
-- 作者:zpx_2012 -- 发布时间:2014/4/12 17:59:00 -- 实时刷新统计数的问题 当删除表中的行时想实时刷新目录树中的统计数,但当一次选择多行删除时每删除一行都会刷新一次,这样效率太低,如果一次性选择了多行,如何才能实现在删除选中的最后一行后才执行刷新的代码,还有一种情况是如果选中了10行,但删除5行后突然出错或因为其他条件不满足中止了删除,此时如何判断删除动作已经停止并刷新统计数(已经删除掉的那5行要减掉)
刷新的代码在datarowdeleted事件中,谢谢! |
||||
-- 作者:lsy -- 发布时间:2014/4/12 18:05:00 -- 网络环境下的数据库,什么意外都有可能。 那就尽量让判断简单再简单,即使出错,也容易排查原因。 目录树显示记录数,没什么必要,状态栏本来就有显示。 |
||||
-- 作者:zpx_2012 -- 发布时间:2014/4/12 18:17:00 -- 上面传的例子只是说明问题,目录树显示记录数是一定要的,因为所有的数据都是按不同权限来加载的。有记录数的就是当前登陆用户可以处理的数据,现在就是发现保存多行或删除多行时很慢就是因为每行都要刷新这个记录数。
[此贴子已经被作者于2014-4-13 17:44:10编辑过]
|
||||
-- 作者:逛逛 -- 发布时间:2014/4/12 21:04:00 -- 实际使用中应该会有一系列的过程来确认操作 因此建议楼主不用纠结,把刷新的动作写到保存后的位置上就可以了。
比如选择行集,展开快捷菜单(或点击删除按钮),确认删除等等,最后删除,保存,刷新。
|
||||
-- 作者:zpx_2012 -- 发布时间:2014/4/13 14:24:00 -- 现在刷新记录数的代码是通过一个函数来实现的,只是执行函数是删除前或保存前事件中触发的,因为这两个事件都是按行触发的,所以每一行删除或保存都会执行一次,要是每按一次保存或删除按钮后能捕获到相关的动作都已经结束再来触发就好了。 |
||||
-- 作者:逛逛 -- 发布时间:2014/4/13 15:21:00 -- 俺知道俺的表达能力差,没想到有这么差。
再试试:
1)不要把刷新放到表格的任何事件中去。没有保存之前,数量不应该更新,刷新是无意义的,可能还会误导用户。 2)把刷新代码加到保存或删除按钮中去。 3)你不用捕获相关的动作。因为 保存或删除按钮 的代码是你自己写的,直接加进去就好了。
|
||||
-- 作者:zpx_2012 -- 发布时间:2014/4/13 16:25:00 -- 谢谢逛逛,这个问题我理解错了,原来直接把刷新代码放在保存按钮或删除按钮的代码最后就可以了。这样不管中途有否出错,刷新就只会只行一次。在删除或修改多行保存时速度明显比原来快了很多。 [此贴子已经被作者于2014-4-13 17:52:59编辑过]
|