Foxtable(狐表)用户栏目专家坐堂 → 怎样按汉字或设定的值排序?


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

主题:怎样按汉字或设定的值排序?

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


加好友 发短信
等级:小狐 帖子:350 积分:3412 威望:0 精华:0 注册:2015/5/12 15:33:00
怎样按汉字或设定的值排序?  发帖心情 Post By:2016/10/21 12:31:00 [只看该作者]

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

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

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


加好友 发短信
等级:二尾狐 帖子:574 积分:4252 威望:0 精华:0 注册:2015/5/13 8:32:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:350 积分:3412 威望:0 精华:0 注册:2015/5/12 15:33:00
  发帖心情 Post By:2016/10/22 13:56:00 [只看该作者]

问题并没有解决,请看项目文件中的窗口

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


加好友 发短信
等级:狐神 帖子:4750 积分:34558 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2016/10/22 14:06:00 [只看该作者]

建个临时列即可
可以上个商业版的例子的

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:350 积分:3412 威望:0 精华:0 注册:2015/5/12 15:33:00
  发帖心情 Post By: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")
生成交叉分组表有按某列排序的方法吗?查不到。

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


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

默认都是按照拼音排序的。参考5楼自己扩展。

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


加好友 发短信
等级:小狐 帖子:350 积分:3412 威望:0 精华:0 注册:2015/5/12 15:33:00
  发帖心情 Post By:2016/10/22 15:17:00 [只看该作者]

只有想办法生成表后再排序了。

 回到顶部