以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  序号列乱了  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79878)

--  作者:文道古月
--  发布时间:2016/1/11 15:58:00
--  序号列乱了

新建了一个外部表,设置了序号列表达式为主键,

接着重新打开了一次项目,然后发现序号列不见了?然后又手动重新设置了一下,再次打开,发现Identify的排序居然乱了,这是神马情况?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:截图20160111155453.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/1/11 16:01:00
--  
上传具体例子
--  作者:文道古月
--  发布时间:2016/1/11 17:18:00
--  

已找到原因,属于新增的数据,但是仍有两个问题

 

1,新增的数据,为什么会显示到最前面来,项目中也没有相关的排序设置,就算有排序也不能是刚好插入到12中间,23中间...

 

2,尝试新增一列序号,表达式设为Identify,在SQL中没有该列

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试实列wb.table

[此贴子已经被作者于2016/1/11 17:18:40编辑过]

--  作者:大红袍
--  发布时间:2016/1/11 17:20:00
--  

1、默认根据_Sortkey列排序的,肯定是你_Sortkey列的值不对。

 

2、表达式列,不是真正的列,是foxtable在项目打开的时候临时加入的。


--  作者:文道古月
--  发布时间:2016/1/11 17:31:00
--  

果然是sortkey 的问题,请问如何归正呢?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:截图20160111172819.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/1/11 17:35:00
--  

For Each r As Row In Tables("表a").Rows
    r.DataRow.baserow("_Sortkey") = r.Index
Next

 

Tables("表a").Save

 

或者

 

For Each r As Row In Tables("表a").Rows
    r.DataRow.baserow("_Sortkey") = r("_Identify")
Next

 

Tables("表a").Save


--  作者:大红袍
--  发布时间:2016/1/11 17:36:00
--  

肯定是你以前的代码有问题导致的_Sortkey列的值不正确。


--  作者:文道古月
--  发布时间:2016/1/11 17:43:00
--  

手动矫正了sortkey是没问题了,

 

但是,后来的数据的sortkey,还是错的

 

这个SOrtkey为什么会这样变化呢,貌似没有对它做什么呀

 

 

 


--  作者:大红袍
--  发布时间:2016/1/11 17:45:00
--  

 汗,肯定是你项目的增加代码有问题。

 

 _Sortkey列是自动递增的。具体问题,上传实例。


--  作者:文道古月
--  发布时间:2016/1/11 18:05:00
--  


所有增加行的代码,找出来了,劳驾看看,谢谢!

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:增加行代码.rar