以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请问老师:排序状态怎样保存?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=31539)

--  作者:wengfuyy
--  发布时间:2013/4/16 23:51:00
--  请问老师:排序状态怎样保存?
我在foxtable里设置了某列的排序为降序,保存后退出,再打开程序时,原来设置的排序方式没有了。
请问:排序是不能保存的吗?
如果回答是肯定的,那么,是否需要编写程序才能实现排序?

--  作者:程兴刚
--  发布时间:2013/4/17 0:30:00
--  
排序的同时重置排序列!
--  作者:wengfuyy
--  发布时间:2013/4/17 8:41:00
--  
谢谢程老师,但没明白您的意思。我是个初学都,不知是否可再说详细些。
--  作者:程兴刚
--  发布时间:2013/4/17 9:35:00
--  
贴出您的排序代码,一并给您解决了!
--  作者:程兴刚
--  发布时间:2013/4/17 19:05:00
--  

这样可以保存排序结果:

 

 

Tables("表A").Sort="姓名"

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

Tables("表A").Sort=""


--  作者:wengfuyy
--  发布时间:2013/4/17 23:02:00
--  
谢谢两位老师。
muhua老师的回复简单易懂,但我试了,没成功;程老师的代码我不知道该写在哪儿,故没能测试。
可能是我问题没描述清楚:
有两表,表A叫“问题清单”(父表),表B叫“处理记录”(子表)。当我点击表A中的任一条记录条时,表B里会出现对这个问题的处理记录(多条)。我希望表B是按“日期”降序排列,便于我查看最新记录。

请两位再次老师不吝赐教!
谢谢。

--  作者:程兴刚
--  发布时间:2013/4/17 23:44:00
--  

Tables("表B").Sort="日期 DESC"

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

Tables("表B").Sort=""


--  作者:wengfuyy
--  发布时间:2013/4/18 0:22:00
--  
请问程老师,你提供的代码应该写在哪个位置?
--  作者:程兴刚
--  发布时间:2013/4/18 0:44:00
--  
您原来写在哪里还写在哪里,实在不行写在按钮里,也可以切换到表A后执行
--  作者:wengfuyy
--  发布时间:2013/4/18 13:55:00
--  
谢谢各位老师。