Foxtable(狐表)用户栏目专家坐堂 → [求助]一列拆分成多列代码


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

主题:[求助]一列拆分成多列代码

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/26 20:49:00 [显示全部帖子]

 datacolchanged,代码,你这种情况是不好判断的,必须有规律才能拆分的。

 

If e.DataCol.Name = "A" Then
    If e.NewValue = Nothing Then
        e.DataRow("B") = Nothing
        e.DataRow("C") = Nothing
        e.DataRow("D") = Nothing
    Else
        Dim chars() As Char = {"/", "-"}
        Dim ary() As String = e.NewValue.split(Chars)
       
        For i As Integer = 0 To ary.Length - 1
            If ary(i).EndsWith("省") OrElse ary(i).Contains("上海") Then
                e.DataRow("B") = ary(i)
            Else If ary(i).EndsWith("市") OrElse ary(i).EndsWith("区") Then
                e.DataRow("C") = ary(i)
            Else If ary(i).EndsWith("县") OrElse ary(i).EndsWith("路") Then
                e.DataRow("D") = ary(i)
            End If
        Next
    End If
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/26 21:33:00 [显示全部帖子]

 

[此贴子已经被作者于2014-10-26 21:37:30编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/26 21:37:00 [显示全部帖子]

 改一下

 

If e.DataCol.Name = "A" Then
    If e.NewValue = Nothing Then
        e.DataRow("B") = Nothing
        e.DataRow("C") = Nothing
        e.DataRow("D") = Nothing
    Else
        Dim chars() As Char = {"/", "-"}
        Dim ary() As String = e.NewValue.replace("市","市/").replace("区", "区/").replace("路", "路").split(Chars)
       
        For i As Integer = 0 To ary.Length - 1
            If ary(i).EndsWith("省") OrElse ary(i).Contains("上海") Then
                e.DataRow("B") = ary(i)
            Else If ary(i).EndsWith("市") OrElse ary(i).EndsWith("区") Then
                e.DataRow("C") = ary(i)
            Else If ary(i).EndsWith("县") OrElse ary(i).EndsWith("路") Then
                e.DataRow("D") = ary(i)
            End If
        Next
    End If
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/26 23:29:00 [显示全部帖子]

If e.DataCol.Name = "A" Then
    If e.NewValue = Nothing Then
        e.DataRow("B") = Nothing
        e.DataRow("C") = Nothing
        e.DataRow("D") = Nothing
    Else
        Dim chars() As Char = {"/", "-"}
        Dim ary() As String = e.NewValue.replace("省","省/").replace("市","市/").replace("区", "区/").replace("路", "路").split(Chars)
       
        For i As Integer = 0 To ary.Length - 1
            If ary(i).EndsWith("省") OrElse ary(i).Contains("上海") Then
                e.DataRow("B") = ary(i)
            Else If ary(i).EndsWith("市") OrElse ary(i).EndsWith("区") Then
                e.DataRow("C") = ary(i)
            Else If ary(i).EndsWith("县") OrElse ary(i).EndsWith("路") Then
                e.DataRow("D") = ary(i)
            End If
        Next
    End If
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/27 9:27:00 [显示全部帖子]

  回复10楼,代码并不能完全转换的,有一些数据,肯定是代码没有考虑上的,具体要看你的数据。

 回到顶部