以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  怎样按汉字或设定的值排序?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91899)

--  作者:xujie80
--  发布时间:2016/10/21 12:31:00
--  怎样按汉字或设定的值排序?
foxtable,sql server对汉字字段默认是按拼音排序的,但在实际工作中,比如说村我想按设定的值排序(顺序是大有、宏丰、烈士,倒序是烈士、宏丰、大有,我想按宏丰、烈士、大有排)
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb

,组按一二三四五六七排序,怎样实现?
这是一个临时表,如果用sort合计列也会排进去,如何处理?

--  作者:cbt
--  发布时间:2016/10/21 13:04:00
--  
 Dim sz() As String ={"宏丰村","烈士村","大有村"}
For i As Integer = 0 To sz.Length-1
    DataTables("表A").ReplaceFor("第十列",i,"第一列=\'" & sz(i) & "\'")
Next
Tables("表A").Sort="第十列"
--  作者:xujie80
--  发布时间:2016/10/22 13:56:00
--  
问题并没有解决,请看项目文件中的窗口
--  作者:y2287958
--  发布时间:2016/10/22 14:06:00
--  
建个临时列即可
可以上个商业版的例子的

--  作者:有点蓝
--  发布时间:2016/10/22 14:53:00
--  

Dim dict1 As new Dictionary(of String,Integer)
dict1.Add("宏丰村",1)
dict1.Add("烈士村",2)
dict1.Add("大有村",3)
Dim dict2 As new Dictionary(of String,Integer)
dict2.Add("一组",1)
dict2.Add("二组",2)
dict2.Add("三组",3)
dict2.Add("四组",4)
dict2.Add("五组",5)
dict2.Add("六组",6)
dict2.Add("七组",7)
For Each r As Row In Tables("表A").Rows
    r("第十列") = dict1(r("第一列")) & dict2(r("第二列"))
Next
Tables("表A").Sort="第十列"

--  作者:xujie80
--  发布时间:2016/10/22 14:57:00
--  
还是上面的例子,按二楼的方法排序后生成的表组别的顺序仍然是按拼音的。
Dim cj As WinForm.ComboBox = e.Form.Controls("cj")
Dim b As New sqlcrossTableBuilder("统计表1","表A") 
b.filter = "第一列 = \'" & cj.value & "\'"
b.hGroups.AddDef("第二列","组别")
b.vGroups.AddDef("第三列")
b.Totals.AddDef("第三列",AggregateEnum.count)
b.OrderByTotal = True 
b.VerticalTotal = True 
b.HorizontalTotal = True
b.Build 
Tables("窗口1_Table1").DataSource = DataTables("统计表1")
生成交叉分组表有按某列排序的方法吗?查不到。

--  作者:有点蓝
--  发布时间:2016/10/22 15:03:00
--  
默认都是按照拼音排序的。参考5楼自己扩展。
--  作者:xujie80
--  发布时间:2016/10/22 15:17:00
--  
只有想办法生成表后再排序了。