以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于信息顺序填入的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=166125) |
||||
-- 作者:81538475 -- 发布时间:2021/5/19 15:50:00 -- 关于信息顺序填入的问题 有一段字符串用|隔开了 "显示器1:DELL SP2318H|显示器2:DELL SP2317H|显示器3:DELL SP222H|显示器4:DELL SP222H" 如何将这四个信息按照这个优先级填入: 优先级1.第一列有相同信息的行优先填入这一行的第二列 。优先级2.第一列不为空的优先填入这一行的第二列,优先级3.剩下2个的在填入第一列没有信息的行中呢。 [此贴子已经被作者于2021/5/19 16:53:47编辑过]
|
||||
-- 作者:81538475 -- 发布时间:2021/5/19 16:53:00 -- 哪位大神帮忙解决下呀。 |
||||
-- 作者:有点蓝 -- 发布时间:2021/5/20 8:57:00 -- Dim str As String ="显示器1:DELL SP2318H|显示器2:DELL SP2317H|显示器3:DELL SP222H|显示器4:DELL SP222H" Dim dr As DataRow Dim dt As DataTable = DataTables("表B") Dim lst As new List(of String) For Each s1 As String In str.split("|") Dim sr() As String = s1.split(":") dr = dt.find("第一列=\'" & sr(1) & "\'") If dr Is Nothing Then lst.Add(sr(1)) Else dr("第二列") = sr(1) End If Next For Each s1 As String In lst dr = dt.find("第一列 Is not null And 第二列 Is null") If dr Is Nothing Then dr = dt.find("第一列 Is null And 第二列 Is null") End If If dr Is Nothing Then dr = dt.AddNew End If dr("第二列") = s1 Next
|
||||
-- 作者:81538475 -- 发布时间:2021/5/20 14:38:00 -- 多谢,不过还有点问题。 比如表格是这样,就只能写入3个显示器了
[此贴子已经被作者于2021/5/20 14:38:58编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/5/20 14:45:00 -- 相同的数据应该怎么处理?有2个DELL SP222H |
||||
-- 作者:81538475 -- 发布时间:2021/5/20 14:47:00 -- 写上一个,另一个按照后面的优先级排 |
||||
-- 作者:有点蓝 -- 发布时间:2021/5/20 15:02:00 -- dr = dt.find("第一列=\'" & sr(1) & "\' and 第二列 Is null")
|