以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]一列拆分成多列代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=58930) |
||||
-- 作者:ZHX88863808 -- 发布时间:2014/10/26 20:34:00 -- [求助]一列拆分成多列代码 请求前辈老师们帮写个一列拆分成多列的代码,如:A列拆分成B列、C列、D列,具体情况看项目,谢谢!
|
||||
-- 作者:有点甜 -- 发布时间:2014/10/26 20:49:00 -- datacolchanged,代码,你这种情况是不好判断的,必须有规律才能拆分的。
If e.DataCol.Name = "A" Then |
||||
-- 作者:y2287958 -- 发布时间:2014/10/26 20:54:00 -- For Each dr As DataRow In DataTables("表A").DataRows If dr.IsNull("A") = False dr("B") = dr("A").split("/")(0) If dr("A").split("/")(1).contains("-") dr("C") = dr("A").split("/")(1).split("-")(0) dr("D") = dr("A").split("/")(1).split("-")(1) Else dr("C") = Nothing dr("D") = dr("A").split("/")(1).split("-")(0) End If Else dr("B") = Nothing dr("C") = Nothing dr("D") = Nothing End If Next
|
||||
-- 作者:ZHX88863808 -- 发布时间:2014/10/26 21:13:00 -- 谢谢老师! |
||||
-- 作者:ZHX88863808 -- 发布时间:2014/10/26 21:29:00 -- 再请教两位老师,如果A列是:上海市杨浦区军工路,拆分成:B列是上海市,C列是杨浦区,D列是军工路,那代吗怎么写呢?谢谢! |
||||
-- 作者:有点甜 -- 发布时间:2014/10/26 21:33:00 --
[此贴子已经被作者于2014-10-26 21:37:30编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2014/10/26 21:37:00 -- 改一下
If e.DataCol.Name = "A" Then |
||||
-- 作者:ZHX88863808 -- 发布时间:2014/10/26 21:57:00 -- 老师刚才我试了一下,有点不行,还请再帮忙修改一下,我把这个项目再传上,谢谢!
|
||||
-- 作者:有点甜 -- 发布时间: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 |
||||
-- 作者:ZHX88863808 -- 发布时间:2014/10/27 6:45:00 -- 谢谢老师!但是我有点搞不懂,上面y2287958老师的代码刚开始试了还好,可是过了一会怎么试就是不行,不知为什么? |