以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  for each语句(字符串叠加问题)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=79272)

--  作者:一笑
--  发布时间:2015/12/28 10:48:00
--  for each语句(字符串叠加问题)
1. 在表中责任人列(多值字段)得到不同责任人:
Dim ps As new List(Of String)
For Each dr As DataRow In DataTables("周工作").Select("进度 < 100")
    For Each p As String In dr("责任人").split(",")
        If ps.Contains(p) = False Then
            ps.add(p)
        End If
    Next
Next

2. 遍历每个责任人(p),然后得到对应每项“工作内容”列中的字符串,现在问题出现:第一个人的工作内容无误,但第二人工作内容会叠加第上一人的工作内容,依次不断叠加,请问代码问题在哪儿?谢谢

For Each p As String In ps
    Dim str As String
    Dim drs2 As List(Of DataRow)
    drs2 = DataTables("周工作").Select("责任人 like \'%" & p & "%\' And 进度 < 100")
    For i As Integer = 0 To drs2.count-1
        Dim dr As DataRow = drs2(i)
        str = str & "           " & (i+1) & "." & dr("工作内容") & vbcrlf
        message.Body = p & "您好!" &  str
    Next
Next


--  作者:大红袍
--  发布时间:2015/12/28 11:19:00
--  

清空一下str

 

Dim str As String = ""