以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]单列数据拆分多列,数字拆分取值 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=133986) |
-- 作者:冷诺 -- 发布时间:2019/4/24 17:31:00 -- [求助]单列数据拆分多列,数字拆分取值 请问老师,单列数值分拆成多列数据的问题,列名:号码 里面的数据格式是13-2-0904,代表13号楼2单元09层04号房间,我想把一列变成多列 我在表事件里用代码
If e.DataCol.name = "号码" If e.newvalue > "" Dim ar() As String = e.newvalue.split("-")
e.DataRow("楼号") = ar(0)
e.DataRow("单元号") = ar(1)
e.DataRow("房号") = ar(2) End If End If 把楼号、单元号都拆出来了,但是0904这没有分隔符的只能整个拆到一列里,该如何修改代码可以继续拆分到层数、房间两列里(四位数前两位代表层数,后两位代表房间号) 老师很抱歉,我点击添加附件没反应,只能这么口述了 |
-- 作者:有点甜 -- 发布时间:2019/4/24 17:36:00 -- 参考代码
Dim str As String = "13-2-0904" |
-- 作者:冷诺 -- 发布时间:2019/4/24 21:42:00 -- 甜老师,我能看懂您给的参考代码,但是我取前面几个的时候是写在表属性的datacolchanged事件里,如果还写在里面,我应该如何修改代码呢,我现在的效果是把后面的4位数给取到单独的一列,用的代码 If e.DataCol.name = "号码" If e.newvalue > "" Dim ar() As String = e.newvalue.split("-") e.DataRow("楼号") = ar(0) e.DataRow("单元号") = ar(1) e.DataRow("房号") = ar(2) End If End If
|
-- 作者:有点甜 -- 发布时间:2019/4/24 21:57:00 -- 如
Dim str As String = e.newvalue e.DataRow("单元号") = mc(0).groups(2).value
|