我正在动态构建一个DataTable,只是在我的事件触发时向它添加行。
然后我想要做的是根据第一列中的条目更新找到的特定行。我不希望执行For Each和IF语句,因为我的For Each可能会循环通过它不感兴趣的行的音调。
帮助:/
'Call Recorder Variables
Dim retelltbl As New DataTable
Public Sub AlertingEx(direction As Integer, party As Integer,
sendingComplete As Integer, csid As Integer, auditType As Integer,
signallingMode As Integer, reservedParam7 As Integer,
reservedParam8 As Integer, reservedParam9 As Integer,
reservedParam10 As Integer, callid As String,
calledNumber As String, callingNumber As String, timestamp As String,
reservedString5 As String, reservedString6 As String)
retelltbl.Rows.Add(New Object() {Date.Now, callid})
Console.WriteLine("Alerting: " & callid & " | " & calledNumber & " | " & callingNumber)
End Sub
当我希望接收连接的事件时,我希望使用callid更新retelltbl以链接2。
干杯,
答案 0 :(得分:0)
好的,如果我正确理解你,你需要在DataTable中找到一行,但你不想遍历每一行来找到它。这完全可以理解。并且有一种方法可以做到这一点,假设您有办法识别唯一的行。通过查看您的代码,我猜到“callid”可能是一个唯一标识每一行的列?是这样,你可以做这样的事情:
Dim MyFilter As String = "callid=" & callid
Dim MyRows As DataRow() = retelltbl.Select(MyFilter)
这将为您提供与过滤器中的条件匹配的DataRows数组。假设每个callid都是唯一的,那么该集合只包含一行,在这种情况下,您可以使用:
访问它MyRows(0)
希望这有帮助!