Foxtable(狐表)用户栏目专家坐堂 → RecordGrid的怪现象


  共有2963人关注过本帖树形打印复制链接

主题:RecordGrid的怪现象

帅哥哟,离线,有人找我吗?
askbang
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:105 积分:1140 威望:0 精华:0 注册:2015/1/12 0:29:00
RecordGrid的怪现象  发帖心情 Post By:2015/4/13 13:36:00 [只看该作者]

      本来已经使用了快一个多月的系统一直没有问题,没想到遇到一个比较另类的使用者,他在频繁切换表的过程中,系统居然报了错。仔细研究了一下发现问题可能原因如下:
      系统有几个模块,每个模块都共享一个内含SQLTable类型表的展示窗口(类型为主窗口)和共享一个内含RecordGrid控件的停靠窗切换不同模块展示主窗口时,停靠窗会随即打开,并根据主窗口SQLTable加载的数据表不同而在RecordGrid中显示相应表的记录信息。这里有点罗嗦,耐心点往下看。
      正常情况下,切换不同的表只要重新定义RecordGrid的 Table 和 Build 即可,可是发现容易报错,所以干脆在每次切换表的时候,先将停靠窗口中的RecordGrid控件删除,重新创建一个,并设定 Table 和 Build后加入到窗口中,发现效果甚佳。可是没想到这个使用者的非常规之举,缺暴露出了这个问题,经过他的频繁切换,系统直接报出“无法将类项为system.componentmodel.baindinglist 1 对象强制转换为类型 dataview”的异常,切换慢了不会报错,一旦快了,1s切换2个模块就报错了,已排除其他原因,定位是RecordGrid控件所致,但不知为何。初步分析是因为RecordGrid绑定Table之后,切换表过程中出现了 Table 未实例化或者说实例化之后还未及时加载外部数据所致,不知这么分析是否正确,望狐表的大大们指点。
      由于系统集成到其他系统,无法提供代码测试。
[此贴子已经被作者于2015/4/13 13:42:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/13 13:42:00 [只看该作者]

做个例子,单独展现该问题,否则纸上谈兵很难找到问题

 回到顶部