在制作用户通讯时,通过CheckedComboBox控件实现通过勾选后向多人发送用一条信息,通过修改LoadFilter= "[_Identify]>0"已实现向多人发送同一条信息,信息表中也在一行中显示“张三,李四”,这两人分别登录后可在信息表中看到他人发来的信息。
想实现张三通过CheckedComboBox勾选后,向李四、王五发送同一条信息,但李四登录后在信息表中显示接收者为李四,王五登录后在信息表中显示接收者为王五,但两人的信息为同一个内容,简单的说就是李四和王五在信息表中分别为两行显示,各人只能看到他人发来的信息,另外再请教如何实现分别的接收时间。
以下是在LoadUserSetting中设置的代码,还存在问题,特请教老师们,谢谢!!
Dim Filter As String
Select Case User.Name
Case UserName
Filter = "接收者 = '" & User.Name & "' Or 发送者 = '" & User.Name & "'"
Case Else
Filter = "" '其他用户记载所有行
End Select
DataTables("信息表").LoadFilter = "[_Identify]>0"
DataTables("信息表").Load()
Dim drs As List(of DataRow) = DataTables("信息表").Select("接收者 = '" & User.Name & "' And 接收时间 Is Null")
If drs.Count > 0 Then
For Each dr As DataRow In drs
dr("接收时间") = Date.Now
Next
DataTables("信息表").Save()
End If
For i As Integer = 0 To DataTables("信息表").DataRows.Count-1
Dim dt As DataTable
For Each dr1 As DataRow In DataTables("信息表").DataRows
If dr1.IsNull("接收者") = False Then
Dim nms() As String = dr1("接收者").Split(",")
For Each nm As String In nms
Dim r As Row = Tables("信息表").AddNew
r("接收者") = nms(i)
Next
End If
Next
Next