以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]列分解中的数组排序问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=105865)

--  作者:jyh7081
--  发布时间:2017/8/28 11:47:00
--  [求助]列分解中的数组排序问题

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

 


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

 

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


--  作者:有点甜
--  发布时间: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
--  发布时间:2018/1/30 15:47:00
--  

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

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

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

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

 

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


--  作者:有点甜
--  发布时间: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