Foxtable(狐表)用户栏目专家坐堂 → 列拆分


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

主题:列拆分

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


加好友 发短信
等级:幼狐 帖子:68 积分:614 威望:0 精华:0 注册:2019/12/27 14:58:00
列拆分  发帖心情 Post By:2025/2/25 9:22:00 [只看该作者]

各位大侠:我希望实现如下功能

在”表“,有A列,B列,C列,D列,希望把   A列  的字符根据   |   拆分到B列,C列,D列
例子:A列  的内容   中国|上海|青浦
        希望拆分成   B列=中国,C列=上海,D列=青浦

谢谢

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112491 积分:572747 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/2/25 9:43:00 [只看该作者]

http://www.foxtable.com/webhelp/topics/0625.htm

DataColChanged事件
If e.DataCol.Name = "A列" Then
    
If e.NewValue > "" Then 
      dim ss() as string = 
e.NewValue.split("|") 'http://www.foxtable.com/webhelp/topics/0245.htm
 e.DataRow("B列") = ss(0)
if ss.length > 1 then
 e.DataRow("C列") = ss(1)
end if
if ss.length > 2 then
 e.DataRow("D") = ss(2)
end if
    
End If
End
 
If

已有数据在输入表事件代码后,重置一下A列
[此贴子已经被作者于2025/2/25 9:43:42编辑过]

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


加好友 发短信
等级:幼狐 帖子:68 积分:614 威望:0 精华:0 注册:2019/12/27 14:58:00
  发帖心情 Post By:2025/2/26 12:47:00 [只看该作者]

把A列通过|分隔符拆分B列,C列,D列,如下代码可以实现,
但是B列,C列,D列设置的都是双精度小数,而A列是通过视觉识别的,所以可能会有非数值的内容,所以能否判断一下,如果拆分出来的有非双精度小数的,就不要执行给B列,C列,D列
谢谢

If e.DataCol.Name = "A列" Then
    
If e.NewValue > "" Then 
      dim ss() as string = 
e.NewValue.split("|") 
 e.DataRow("B列") = ss(0)
if ss.length > 1 then
 e.DataRow("C列") = ss(1)
end if
if ss.length > 2 then
 e.DataRow("D") = ss(2)
end if
    
End If
End
 
If


 回到顶部
帅哥,在线噢!
y2287958
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4852 积分:35178 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2025/2/26 13:20:00 [只看该作者]

上文件

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112491 积分:572747 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/2/26 13:28:00 [只看该作者]

http://www.foxtable.com/webhelp/topics/0324.htm

dim d as double
if double.TryParse(ss(0), d)
e.DataRow("B列") = d
end if

 回到顶部