Foxtable(狐表)用户栏目专家坐堂 → 合并字符集合为一个字符串的简单方法。


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

主题:合并字符集合为一个字符串的简单方法。

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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
合并字符集合为一个字符串的简单方法。  发帖心情 Post By:2008/9/14 9:49:00 [只看该作者]

String有一个共享方法Join,可以将一个字符数组用指定的分割符号合并为一个字符串。
该方法只能合并数组,不能合并集合
但是集合有一个ToArray的方法,可以将集合转换为数组。
所以合并集合为字符串的方法其实很简单:

dim lst as new list(of string)
lst.add("abc")
lst.add("123")
output.show(string.join("|",lst.ToArray))
[此贴子已经被作者于2008-9-14 9:50:51编辑过]

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2008/9/14 10:09:00 [只看该作者]

应该是帮助中没写进去的吧。
顶一下!

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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/14 10:12:00 [只看该作者]

会写进去的。

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


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

OK

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2008/9/14 11:09:00 [只看该作者]

 

  用“ 窗口组合框除去重复”帖子

http://www.foxtable.com/dispbbs.asp?boardid=2&Id=486
取不重复的PrepareEdit中事件,如何用以上的Join方法改造以下代码?
 Dim drs As New List(Of DataRow)
        Dim Val AS String = "|"
        '从单位区域获得该县名的全部行
        drs = DataTables("单位").Select("[乡名] = '" & e.Row("乡名") & "'")
        For Each dr As DataRow In drs
            Val = Val & "|" & dr("村名")
        Next
        e.Col.Combolist = Val

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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/14 11:20:00 [只看该作者]

呵呵,当然可以的

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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/14 11:30:00 [只看该作者]

e.Col.Combolist = String.Join("|", drs.ToArray)

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2008/9/15 8:09:00 [只看该作者]

       从以上的代码改为如下:
        Dim drs As New List(Of DataRow)
              '从单位区域获得该县名的全部行
        drs = DataTables("单位").Select("[乡名] = '" & e.Row("乡名") & "'") 
          
          e.Col.Combolist = String.Join("|", drs.ToArray)
会出现错误提示

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

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/15 8:13:00 [只看该作者]

呵呵,搞错了,别用select,用getuniquevalues取得值的集合,才能用join合并。

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2008/9/15 8:28:00 [只看该作者]

哦,刚才就有这么一闪念,看来用getuniquevalues取得值的集合,才是string的集合,才能用join合并。
谢谢!


 回到顶部