以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 当我在某表格插入一行时,提示:DATATABLE内部索引已损坏“5”。请问如何解决? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73757) |
-- 作者:jinzhengbe -- 发布时间:2015/8/26 0:45:00 -- 当我在某表格插入一行时,提示:DATATABLE内部索引已损坏“5”。请问如何解决?
微信菜单,输入客户名 点添加 的时候就会 出现这个,提示
还有串货那个菜单,也会出,请问该怎么解决, 麻烦各位多指点下
就差这个收尾了 谢谢!!!
本来以为是系统不兼容的问题 ,后来换了系统 发现问题还在, 所以可以排除系统 问题了 [此贴子已经被作者于2015/8/26 13:45:19编辑过]
|
-- 作者:jinzhengbe -- 发布时间:2015/8/26 0:46:00 -- 感觉应该是这个原因 ,但是不会处理,请各位指点!!!
一般我们会使用DataTable.Select()方法来筛选数据,而DataTable会在执行Select()方法的时候系统会默认创建一个DataView,而DataView创建的时候会创建内部索引,如果这个时候数据被操作(添加,删除),那么内部索引就会被破坏,从而出错。大概是这个意思吧,不知道有没有说错。所以解决的方法也很简单,就是新建一个DataView,并在创建DataView的时候锁定DataTable。 |
-- 作者:大红袍 -- 发布时间:2015/8/26 9:55:00 -- 测试了一下,你要把 BeforeSelChange 的代码删除,也就是
If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行 如果要保存,你可以在DataRowAdding事件写
e.DataTable.Save |
-- 作者:jinzhengbe -- 发布时间:2015/8/26 13:04:00 -- 太感谢了!!!! 已经解决了~~~ |