Foxtable(狐表)用户栏目专家坐堂 → [求助]字符串里的Join(Separator,Values)这个语法怎么使用呢?


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

主题:[求助]字符串里的Join(Separator,Values)这个语法怎么使用呢?

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


加好友 发短信
等级:婴狐 帖子:7 积分:128 威望:0 精华:0 注册:2019/12/15 13:25:00
[求助]字符串里的Join(Separator,Values)这个语法怎么使用呢?  发帖心情 Post By:2020/1/8 23:23:00 [只看该作者]

以下是datacolchanging中的代码:
Select Case e.DataCol.Name
    Case "成员"
        If e.NewValue IsNot Nothing Then  '通过复选框选中一个或多个成员,各成员间通过逗号分隔,成员的值为数字
            Dim dw As String = e.NewValue
            Dim dws() As String
            dws = dw.Split(" , ")     '将字符串转化为数组
            If dws.Length = 1 Then
                Dim dr1 As DataRow = DataTables("成员表").Find("值 ='" & e.NewValue & "'")  '找到该成员值对应的名称
                e.NewValue = dr1("成员")  '返回该成员名称
            Else If dws.Length > 1 Then
                Array.Sort( dws )         '因为成员的值为数字所以可以直接通过数组排序
                Dim a() As String
                Dim b As String
                For i As Integer = 0 To dws.Length - 1
                    Dim dr As DataRow = DataTables("成员表").Find("值 ='" & dws(i) & "'")  '再按排序后的成员值的顺序找到个每个值对应的成员名称
                    a(i) = dr("成员")       '将根据值排好顺序的成员名称返回到一个数组中
                Next
                b = a.Join( ",", Parts)     '将数组转化为字符串     这个函数怎么使用呢?一直提示我“Parts is not declared”帮助文件里只有一个例子,不知道怎么使用啊,求大神帮忙,谢谢!
                e.NewValue = b              '显示排序后的成员      
            End If
        End If
End Select
[此贴子已经被作者于2020/1/8 23:30:18编辑过]

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


加好友 发短信
等级:超级版主 帖子:110777 积分:563817 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/9 9:19:00 [只看该作者]

b = a.Join( ",", a) 

其实不用那么麻烦吧
Select Case e.DataCol.Name
    Case "成员"
        If e.NewValue > "" Then  '通过复选框选中一个或多个成员,各成员间通过逗号分隔,成员的值为数字
            Dim str As String = DataTables("成员表").GetComboListString("成员","值 in ('" & e.NewValue.replace(",","','") & "')")
            e.NewValue = str.Replace("|",",")
        End If
End Select

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


加好友 发短信
等级:婴狐 帖子:7 积分:128 威望:0 精华:0 注册:2019/12/15 13:25:00
  发帖心情 Post By:2020/1/9 14:10:00 [只看该作者]

         谢谢大神答疑,GetComboListString,in,replace搭配的太巧妙了,不过这句代码还少了个排序的参数
       再次感谢大神帮我完美解决问题。

 Dim str As String = DataTables("成员表").GetComboListString("成员","值 in ('" & e.NewValue.replace(",","','") & "')" ,“值”)
[此贴子已经被作者于2020/1/9 14:10:28编辑过]

 回到顶部