以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]拆分列数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103708)

--  作者:seal51
--  发布时间:2017/7/14 23:09:00
--  [求助]拆分列数据

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

--  作者:有点蓝
--  发布时间:2017/7/14 23:24:00
--  
数据有规律就好办

Dim Str As String = "100/50×30"
Dim arr() As String = str.Split(new Char(){"/","×"})
For Each a As String In arr
    Output.Show(a)
Next

--  作者:seal51
--  发布时间:2017/7/14 23:41:00
--  

什么叫有规律, 外径内径高度都不一样, 有很多

 

好像老师没有理解我的意思

这段代码写在哪个事件中

[此贴子已经被作者于2017/7/14 23:45:30编辑过]

--  作者:seal51
--  发布时间:2017/7/14 23:49:00
--  

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

--  作者:有点蓝
--  发布时间:2017/7/15 8:39:00
--  
4楼的数据就叫有规律,突然出现一个这类数据("100/50*30"、"100÷50×30")就叫没有规律

看懂代码,自己改改放到datacolchanged

--  作者:seal51
--  发布时间:2017/7/15 10:59:00
--  

老师, 代码没看懂,不会改, 希望老师给更改一下, 谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:sm项目170715.foxdb

[此贴子已经被作者于2017/7/15 11:06:58编辑过]

--  作者:有点蓝
--  发布时间:2017/7/15 11:19:00
--  
If e.DataCol.Name = "第一列"
    If e.DataRow.IsNull(e.DataCol.Name) Then
        e.DataRow("第二列") = Nothing
        e.DataRow("第三列") = Nothing
        e.DataRow("第四列") = Nothing
    Else
        Dim Str As String = e.NewValue
        Dim arr() As String = str.Split(new Char(){"/","×"})
        e.DataRow("第二列") = arr(0)
        e.DataRow("第三列") = arr(1)
        e.DataRow("第四列") = arr(2)
    End If
End If

已经有的数据重置一下列

--  作者:seal51
--  发布时间:2017/7/15 11:42:00
--  
.NET Framework 版本:2.0.50727.8745
Foxtable 版本:2017.6.12.1
错误所在事件:表,产品表,DataColChanged
详细错误信息:
调用的目标发生了异常。
索引超出了数组界限。

--  作者:有点蓝
--  发布时间:2017/7/15 12:02:00
--  
数据有问题,缺少除号或者乘号,或者这些符号不标准,如乘号“×、X、x”。

这就叫没有规律,总结一下数据,会有多少种不同的情况,如:
"100÷50×30"
"100/50X30"
"100/50"
"100×30"


--  作者:seal51
--  发布时间:2017/7/15 12:30:00
--  
谢谢老师, 我查查并规范一下数据