以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教排序  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1273)

--  作者:实话实说
--  发布时间:2008/11/29 14:49:00
--  请教排序
狐表因不能插入行,给排序带来很大额定不便,使用者抱怨较多。现请教示例文件的第一列和第二列如何排序成第三列和第四列
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:czy
--  发布时间:2008/11/29 15:41:00
--  
笨办法,用临时表过度一下再将排序后的结果写入表中。

--  作者:gdtgl
--  发布时间:2008/11/29 16:08:00
--  
做1个对应关系的排序表。

当录单时,从表B的"排序号"写入到表A的排序号。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目21.table


--  作者:gdtgl
--  发布时间:2008/11/29 16:09:00
--  
如果程序做得不好,抱怨是绝对的。
--  作者:实话实说
--  发布时间:2008/11/29 16:27:00
--  
这个方法我也想过,只是我们的产品型号规格有几万个,加上派生的有十几万,这其中有的常用,有的现在不用,将来可能要用,有的可能根本就不会用,我不可能都录入再编上顺序号。
--  作者:gdtgl
--  发布时间:2008/11/29 17:04:00
--  

论坛中有学生学分排名的例子,或者有参考价值。


--  作者:czy
--  发布时间:2008/11/30 20:19:00
--  
如果只是一、两列进行这样的永久排序,还是可以的,我的想法是排序后重新写入,当然数据量很大的话保存较耗时。

如:

Dim dt As Table = Tables("表A")
For i As integer = 0 to dt.rows.count -1
   dt.Rows(i)("第九列") = dt.Rows(i)("第一列")
   dt.Rows(i)("第十列") = dt.Rows(i)("第二列")
Next
Dim drs As New List(Of DataRow)
drs = DataTables("表A").Select("","第九列,第十列")
For i As integer = 0 to dt.rows.count -1
   dt.Rows(i)("第一列") = drs(i)("第九列")
   dt.Rows(i)("第二列") = drs(i)("第十列")
Next
For i As integer = 0 to dt.rows.count -1
   dt.Rows(i)("第九列") = Nothing
   dt.Rows(i)("第十列") = Nothing
Next



上面的代码玩玩而已,别当真。
--  作者:实话实说
--  发布时间:2008/12/1 8:21:00
--  
谢谢CZX的热心帮助。我不想再耗费大家的精力,我感觉除了插入行,无论什么方案都难以达到满意的效果。我现在就想确认一下,狐表插入行肯定不能实现吗?我只要两个答案:是或者不一定。
--  作者:狐狸爸爸
--  发布时间:2008/12/1 8:26:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目46.table


--  作者:ybil
--  发布时间:2008/12/1 9:11:00
--  
变通还是可以的嘛
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.table