Foxtable(狐表)用户栏目专家坐堂 → 删除行后 _SortKey字段怎么从当前剩余的最后一行加1


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

主题:删除行后 _SortKey字段怎么从当前剩余的最后一行加1

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
删除行后 _SortKey字段怎么从当前剩余的最后一行加1  发帖心情 Post By:2016/6/28 21:48:00 [只看该作者]

删除行后 _SortKey字段怎么从当前剩余的最后一行加1

如题

前提条件

假如 最后一个 sortkey的值是 99

删除10行后 最后一个sortkey 是89

结果

如果现在添加一行的话  _SortKey应该是 100  而不是90

这种情况如果想让_sortkey 自动变成90 应该怎么办?


如果现在添加10行的话,最后一行的sortkey自动变成99

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/28 22:23:00 [只看该作者]

_Sortkey用来排序,有必要那么在意其值么?

 

如果要做,你可以在DataRowAdding事件给其赋值啊,如

 

e.Datarow("_Sortkey") = e.DataTable.Compute("max(_Sortkey)") + 1


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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2016/6/29 12:16:00 [只看该作者]

我是想每增加一行,累计的值 能在上一行的基础上自动加1, 正常的情况下用_Sortkey是没有问题的,但是如果中间有删除的行, _Sortkey 就会不准,会比实际累计值大

所以我感觉您给的方案好像也不行。还有没有其他的办法? 大师图片点击可在新窗口打开查看
[此贴子已经被作者于2016/6/29 12:19:08编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/29 12:28:00 [只看该作者]

 重置_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


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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2016/6/29 12:35:00 [只看该作者]

_Sortkey这么折腾其实没有大的意义,碰到大数据量怎么办,楼主还是清楚表达通过这个_Sortkey要做什么功能,大家就可能帮你寻找更有效、快捷的方案。

 回到顶部