Foxtable(狐表)用户栏目专家坐堂 → [求助]分列代码怎么写?split


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

主题:[求助]分列代码怎么写?split

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
[求助]分列代码怎么写?split  发帖心情 Post By:2008/12/5 16:24:00 [只看该作者]

求C 、D、E列的代码?

图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2008-12-5 16:25:49编辑过]

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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2008/12/5 16:33:00 [只看该作者]

Split

用指定的分隔符将字符串分隔成一个字符串数组。

语法:

Split(Value)

Value: 用于分割字符串的字符。

例如:

Dim Multi As String = "ab|cd|ef"
Dim
Values() as String
Values
= Multi.split("|")
For
Index As Integer = 0 To Values.Length - 1
    Output.Show(Values(Index
))
Next

在命令窗口执行上述代码之后,输出结果是:

ab
cd
ef


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


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2008/12/5 16:35:00 [只看该作者]

建议在datacolchanged事件中
if e.datacol.name="B" then 

   Dim Multi As String = e.datarow("B")
   Dim
Values() as String
   Values
= Multi.split("|")
   e.datarow("B")=
Values(0
)
   e.datarow("C")=Values(1)
   e.datarow("D")=Values(2)
end if

[此贴子已经被作者于2008-12-5 16:40:56编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/12/5 16:42:00 [只看该作者]

谢谢!~ 

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/12/5 17:15:00 [只看该作者]

datacolchanged事件中:下面代码对吗?

If e.DataCol.Name = "B" Then
    If e.NewValue Is Nothing Then
        e.DataRow("C") = Nothing
        e.DataRow("D") = Nothing
        e.DataRow("E") = Nothing
    Else 
        Dim Multi As string = Tables("当前表").Current("B") 
        Dim Values as String()
        Values = "B".split("-")
        For Index As Integer = 0 To Values.Length - 1
            e.Datarow("C") = (Values(0)) 
            e.Datarow("D") = (Values(1)) 
            e.Datarow("E") = (Values(2))  

        Next       
    End if
End if
[此贴子已经被作者于2008-12-5 18:17:53编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/12/5 18:28:00 [只看该作者]

以下是引用kylin在2008-12-5 16:35:00的发言:

建议在datacolchanged事件中
if e.datacol.name="B" then 

   Dim Multi As String = e.datarow("B")
   Dim
Values() as String
   Values
= Multi.split("|")
   e.datarow("B")=
Values(0
)
   e.datarow("C")=Values(1)
   e.datarow("D")=Values(2)
end if

[此贴子已经被作者于2008-12-5 16:40:56编辑过]

B列,不变,每段分到C、D、E列中,kylin的代码改为:
if e.datacol.name="B" then 

   Dim Multi As String = e.datarow("B")
   Dim
Values() as String
   Values
= Multi.split("-")
   e.datarow("C")=
Values(0
)
   e.datarow("D")=Values(1)
   e.datarow("E")=Values(2)
end if
但是,当B列只有第一段[或第一和第二段]时,会提示错误,但结果还是会填到C[或C、D]列。请教,即:当段数(假设1-10段)不确定时代码怎么完善?


此主题相关图片如下:未命名.jpg
按此在新窗口浏览图片
[此贴子已经被作者于2008-12-5 18:28:52编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/12/5 20:29:00 [只看该作者]

大家帮我呀。


[此贴子已经被作者于2008-12-6 1:09:34编辑过]

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


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
  发帖心情 Post By:2008/12/5 22:03:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:分列问题er4.table


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/12/6 0:38:00 [只看该作者]

以下是引用小狐在2008-12-5 22:03:00的发言:
 下载信息  [文件大小:452.0 KB  下载次数:4]
图片点击可在新窗口打开查看点击浏览该文件:分列问题er4.table

这个不对呀~


图片点击可在新窗口打开查看此主题相关图片如下:未命名2.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2008-12-6 0:38:18编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/12/6 1:08:00 [只看该作者]

还是不对,这是最新的文件

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:分列问题.table

[此贴子已经被作者于2008-12-6 1:08:37编辑过]

 回到顶部
总数 19 1 2 下一页