Foxtable(狐表)用户栏目专家坐堂 → 如何在foxtable中实现易表的“排序项目”功能?


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

主题:如何在foxtable中实现易表的“排序项目”功能?

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


加好友 发短信
等级:小狐 帖子:324 积分:3807 威望:0 精华:0 注册:2008/9/1 7:34:00
如何在foxtable中实现易表的“排序项目”功能?  发帖心情 Post By:2010/10/11 22:05:00 [只看该作者]

不知foxtable里有无易表“排序项目”设计,若无,不知该怎样设计?谢谢!

 

现有一表的“科目”列内容有“化学,生物,历史,地理,语文,数学,英语,物理”等,我希望按指定顺序排序(如语文,数学,英语,物理,化学,生物,历史,地理),如何实现?


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


加好友 发短信
等级:小狐 帖子:324 积分:3807 威望:0 精华:0 注册:2008/9/1 7:34:00
  发帖心情 Post By:2010/10/11 22:08:00 [只看该作者]

坛主也限制得太严了,由于有一科目“政 治”,始终不能发贴;去掉“政 治”总算发上来了(中间加空格才通得过)。
[此贴子已经被作者于2010-10-11 22:09:24编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/10/11 22:32:00 [只看该作者]

类似易表的排序项目现在是没有的。

加个辅助列吧,如果排序项目不多,可以用表达式列,iff下去就可以了,如果排序项目多,还是用数据列,然后用代码简单一些,生成顺序后再对辅助列进行排序。


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


加好友 发短信
等级:小狐 帖子:324 积分:3807 威望:0 精华:0 注册:2008/9/1 7:34:00
  发帖心情 Post By:2010/10/11 23:11:00 [只看该作者]

好主意,谢谢C老师!

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/10/11 23:57:00 [只看该作者]

个人认为还是用数据列简单,因为用那么多iif写起来费劲,而用代码只是几行而已。

比如:

 

If e.DataCol.Name = "科目" Then
    Dim Str As String = "化学|生物|历史|地理|语文|数学|英语|物理|政 治|"
    If Str.IndexOf(e.DataRow("科目") & "|") > -1 Then
        e.DataRow("排序") = Str1.IndexOf(e.DataRow("科目") & "|")
    End If
End If

 

也可以:

 

If e.DataCol.Name = "科目" Then
    Dim Values() As String = "化学|生物|历史|地理|语文|数学|英语|物理|政 治".split("|")
    For i As Integer = 0 To Values.Length -1
        If Values(i) = e.DataRow("科目")
            e.DataRow("排序") = i
        End If
    Next
End If

 

 


 回到顶部