Foxtable(狐表)用户栏目专家坐堂 → 如何用代码实现”按表最左边自动生成的行号排序”


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

主题:如何用代码实现”按表最左边自动生成的行号排序”

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


加好友 发短信
等级:婴狐 帖子:15 积分:151 威望:0 精华:0 注册:2020/10/22 18:23:00
如何用代码实现”按表最左边自动生成的行号排序”  发帖心情 Post By:2020/10/22 18:42:00 [只看该作者]

原本想在某个特定位置插入一行数据,但下次再打开此表时,有时该行会不在原来位置了。怎样做,才能保证原插入行的位置不变动呢。变来变去,插入变得没有任何意义了。用代码实现”按表最左边自动生成的行号排序”,能否解决此问题?可以的话,能否提供代码?备注:一直是单机单用户。

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


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/22 20:54:00 [只看该作者]

表格最左边的行号是没有什么意义的,只是表示当前显示了多少行数据而已。不代表第二行永远都是在行号2的位置,毕竟表格还可以筛选,分页等等。数据多了之后肯定是按需要进行加载的不可能每次都全部加载显示出来。如果需要严格按顺序,建议自己增加一个顺序列,手工指定序号。需要的时候按序号排序即可

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


加好友 发短信
等级:婴狐 帖子:15 积分:151 威望:0 精华:0 注册:2020/10/22 18:23:00
  发帖心情 Post By:2020/10/23 8:56:00 [只看该作者]

按你说的方法,“插入”还有何意义?为什么2018版本没有这个问题?实在不懂,明明是更新出了一堆bug,迟迟不想办法解决,反倒让用户自己想办法。

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


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/23 9:02:00 [只看该作者]

是您没有理解。插入的意义在于插入行肯定是在当时插入的2行数据的中间,这个肯定是成立的,但是和位置没有任何关系,不管哪个版本都一样。

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


加好友 发短信
等级:婴狐 帖子:15 积分:151 威望:0 精华:0 注册:2020/10/22 18:23:00
  发帖心情 Post By:2020/10/23 9:03:00 [只看该作者]

“数据多了之后肯定是按需要进行加载的不可能每次都全部加载显示出来” :   我的这个表总共297行,在插入时是全部显示的。重新打开后,显示的还是那么多行(包括插入的那一行298行),只是插入行不在原来想要它呆的位置了。

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


加好友 发短信
等级:婴狐 帖子:15 积分:151 威望:0 精华:0 注册:2020/10/22 18:23:00
  发帖心情 Post By:2020/10/23 9:11:00 [只看该作者]

我想把数据放在显示为第18行的地方,结果重新打开后发现它跑到第47行去了。这个应该怎样理解才对?反正在execl中和以前的版本中没有发生过这种情况。

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


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/23 9:12:00 [只看该作者]

支持插入的表默认是按照插入标记列_sortkey排序的
1、看看是不是自己按照其它列另外做了排序
2、如果是内部表,使用表达式列看看_sortkey值是否正常;如果是外部表可以直接到数据库里看看_sortkey值是否正常。如果不正常可以先手工重置一下排序列,如:

tables("表A").sort = "_sortkey"
for i as integer = 0 to tables("表A").rows.count - 1
tables("表A").rows(i)("_sortkey") = i
next

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


加好友 发短信
等级:婴狐 帖子:15 积分:151 威望:0 精华:0 注册:2020/10/22 18:23:00
  发帖心情 Post By:2020/10/23 9:19:00 [只看该作者]

我解决它乱跑的方法是:想把数据放在第9行(显示为第9行),就先把此行及之后的数据“剪切后挪”一行,腾出第9行,然后再在这行录入数据,再然后它就呆在第9行不跑了

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


加好友 发短信
等级:婴狐 帖子:15 积分:151 威望:0 精华:0 注册:2020/10/22 18:23:00
  发帖心情 Post By:2020/10/27 9:11:00 [只看该作者]

想问下,能否取消“默认按照插入标记列_sortkey排序”

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


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/27 9:16:00 [只看该作者]

无法取消。

可以删除这个列,删除后默认按照主键列排序,同时无法有插入/移动行功能

 回到顶部
总数 17 1 2 下一页