Foxtable(狐表)用户栏目专家坐堂 → [求助]列分解中的数组排序问题


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

主题:[求助]列分解中的数组排序问题

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


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
[求助]列分解中的数组排序问题  发帖心情 Post By:2017/8/28 11:47:00 [只看该作者]

根据甜版主的代码修改的列分解,由于对原代码的数组排序没能理解,致使本例中[审判程序]为“二审”的[当事人]分解错误,请版主指教!谢谢!

 


图片点击可在新窗口打开查看此主题相关图片如下:image 2.jpg
图片点击可在新窗口打开查看

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:列分解.table


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/28 11:55:00 [只看该作者]

根据拼音排序的。

 

If e.DataRow("审判程序") = "二审" Then
   
    Select Case e.DataCol.name   '同表列分解-二审
        Case "当事人"
            Dim str As String = e.DataRow("当事人")
            Dim ary As String() = str.split(";")
            array.sort(ary)
            If ary.length >= 2 Then
                e.DataRow("上诉人") = ary(1).split(":")(1)
                e.DataRow("被上诉人") = ary(0).split(":")(1)
               
                If ary.length = 3 Then
                    e.DataRow("原审第三人") = ary(2).split(":")(1)
                End If
            End If
           
    End Select
End If


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


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2018/1/30 15:47:00 [只看该作者]

老师,遇到一个特殊情况:

[当事人]的值=''上诉人:AAA''

字符串里面没有分隔符“;”

我想加一种情况,让[上诉人]的列值为“AAA”,该怎样改?

 

If ary.length = 0 Then
       e.DataRow("上诉人") =           
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/30 15:58:00 [只看该作者]

If e.DataRow("审判程序") = "二审" Then
   
    Select Case e.DataCol.name   '同表列分解-二审
        Case "当事人"
            Dim str As String = e.DataRow("当事人")
            Dim ary As String() = str.split(";")
            array.sort(ary)

            If ary.length >= 2 Then
                e.DataRow("上诉人") = ary(ary.length-1).split(":")(1)
                e.DataRow("被上诉人") = ary(1).split(":")(1)
               
                If ary.length = 3 Then
                    e.DataRow("原审第三人") = ary(0).split(":")(1)
                End If
                'Next
            Else
                e.DataRow("上诉人") = ary(ary.length-1).split(":")(1)

            End If
           
    End Select
End If


 回到顶部