Foxtable(狐表)用户栏目专家坐堂 → 排序问题


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

主题:排序问题

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/8/16 21:16:00 [显示全部帖子]

将规格列改成数值型,然后在GetComboListString中指定Sort参数.

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/8/18 13:42:00 [显示全部帖子]

现学现卖一个。

 

If e.Col.Name = "型号" Then
    e.Col.Combolist = DataTables("产品").GetComboListString("型号")
End If
If e.Col.Name = "规格" Then
    Dim List As String = DataTables("产品").GetComboListString("规格","[规格] Is Not Null And [型号] = '" & e.Row("型号") & "'")
    Dim s1() As String = List.Split("|")
    Dim s2(s1.Length - 1) As Single
    For i As Integer = 0 To  s1.Length  - 1
        s2(i) =s1(i)
    Next
    Array.Sort(s2)
    Dim Val As String
    For i As Integer = 0 To s2.Length  - 1
        Val = Val & s2(i) & "|"
    Next
    e.Col.Combolist = Val
End If

[此贴子已经被作者于2010-8-18 13:49:06编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/8/19 13:15:00 [显示全部帖子]

以下是引用实话实说在2010-8-19 6:58:00的发言:

用了一下,与1楼相比,1、“型号”列不能录入新的型号;2、“规格”列新录入的规格不能加入下拉列表。

字符型的数字排序经常会遇到,希望加入到狐表系统中默认使用

 

如果你知道问题出在哪里,修正代码应该很简单了。

 

If e.Col.Name = "型号" Then
    e.Col.Combolist = DataTables("产品").GetComboListString("型号")
End If
If e.Col.Name = "规格" Then
    Dim List As String = DataTables("产品").GetComboListString("规格","[型号] = '" & e.Row("型号") & "'")
    List = List.Trim("|")
    If List.Length > 0 Then
        Dim s1() As String = List.Split("|")
        Dim s2(s1.Length - 1) As Single
        For i As Integer = 0 To  s1.Length  - 1
            s2(i) =s1(i)
        Next
        Array.Sort(s2)
        Dim Val As String
        For i As Integer = 0 To s2.Length  - 1
            Val = Val & s2(i) & "|"
        Next
        e.Col.Combolist = Val
    Else
        e.Col.Combolist = ""
    End If
End If


 回到顶部