Foxtable(狐表)用户栏目专家坐堂 → 插入行后重新加载行位置不确定


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

主题:插入行后重新加载行位置不确定

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


加好友 发短信
等级:幼狐 帖子:109 积分:1104 威望:0 精华:0 注册:2012/2/26 17:36:00
插入行后重新加载行位置不确定  发帖心情 Post By:2016/12/13 16:10:00 [只看该作者]

一个表用增加行删除行都没有问题。插入行后,重新打开软件后这一行的位置不确定,是否使用外部表插入行功能不确定呢?
问题是有些表是可以随便插入行而且这一行的位置下次打开软件没有问题的。

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/13 16:19:00 [只看该作者]

如果数据没有完全加载就是这样的,插入行只根据加载的数据进行计算位置

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


加好友 发短信
等级:幼狐 帖子:109 积分:1104 威望:0 精华:0 注册:2012/2/26 17:36:00
很小一个表格,是完全加载的  发帖心情 Post By:2016/12/15 9:14:00 [只看该作者]

整个表格比较少,就一百多行,是完全加载的表格。难道是因为有隐藏列的原因?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/15 9:17:00 [只看该作者]

重置一下_Sortkey列,然后重新测试

 

DataTable有一个BaseTable属性,返回底层的System.Data.DataTable对象 。
DataRow有一个BaseRow属性,返回底层的System.Data.Row对象。

我们知道,通过常规的代码, 我们是没有办法修改_Identify?_SortKey等系统列的内容.
但是通过上面两个属性,我们直接修改系统列的内容.
例如某个表启用了插入行的功能,如果在某位置插入了太多的行,最后该位置可能再也无法正常插入行,我们可以用下面的代码,重置_SortKey列的内容:

Dim drs As List(of DataRow) = DataTables("表A").Select("","[_SortKey]")
For i As Integer = 0 To drs.Count - 1
    drs(i).BaseRow("_SortKey") = i
Next

执行上述代码后,插入行的功能即可恢复正常.


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


加好友 发短信
等级:幼狐 帖子:109 积分:1104 威望:0 精华:0 注册:2012/2/26 17:36:00
好了  发帖心情 Post By:2016/12/15 9:34:00 [只看该作者]

还真是这样,谢谢!

 回到顶部