2014-12-12 3 views
0

DataTable을 동적으로 구축하고 이벤트가 발생할 때 행을 추가하기 만합니다.DataTable 행 및 열 편집 VB.NET

내가하고 싶은 것은 첫 번째 열의 항목을 기반으로 발견 된 특정 행을 업데이트하는 것입니다. 나는 각각에 대해 작업을 수행하지 않으과 문 내 ​​각은 잠재적에 관심이없는 행의 톤을 순환

도움말 수 있기 때문에 다음 경우 :./

'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 

는 A A를받을 때 나는 다음 2

건배를 연결하는 callid를 사용하여 retelltbl를 업데이트 할 연결된 이벤트,

+0

Rows.Add()를 호출 중이지만 업데이트하려고한다고 말했습니다. 프로그램은 어떤 행을 업데이트하지 않고 업데이트 할 것인지를 어떻게 알 수 있습니까? – Keith

+0

인덱스를 사용하여 해당 데이터 테이블의 특정 행에 액세스 할 수 있습니다. 업데이트 할 행이있는 경우 인덱스를 사용하여 직접 액세스하십시오. 다른 방법은 모든 행을 반복하는 것입니다. – Ahmad

+0

좋습니다. 우리는 DataTable을 사용하고 있습니다. DataTable은 TableRow로 구성됩니다. TableRows는 Column으로 구성됩니다. 네 컬럼 중 하나가 일종의 고유 식별자라고 생각해? 새 행을 추가 할 때이를 식별하기 위해 고유 한 행을 추가해야합니다. 어쩌면 GUID 일 수도 있습니다. 이게 뭐야? callid가 고유하면 DataTable에보기를 추가 한 다음 해당보기에서 필터를 사용하여 원하는 정확한 것을 찾을 수 있습니다. 각 DataRow를 반복 할 필요가 없습니다. –

답변

0

내가 제대로 이해하고 있다면 좋아, 당신이 DataTable의에서 단일 행을 찾을 필요가 있지만, 돈 그것을 찾으려면 각 행을 반복하고 싶지 않습니다. 이것은 완벽하게 이해할 수 있습니다. 그리고 고유 한 행을 식별 할 수있는 방법이 있다고 가정하고이를 수행하는 방법이 있습니다. 귀하의 코드를 보면서 "callid"가 각 행을 고유하게 식별 할 수있는 열일 수 있다고 생각합니까? 그렇다면 다음과 같이 할 수 있습니다 :

이렇게하면 필터의 조건과 일치하는 DataRow의 배열을 얻을 수 있습니다. 이 도움이

MyRows(0) 

희망 : 각 callid 가정하면 고유 컬렉션은 당신이 그것을 액세스 할 경우에 하나 개의 행을 포함 할 것입니다!

+0

Casey 안녕하세요, 환호성에 대한 환호성, 전화 ID 및 전화 번호와 같은 2 개의 식별자를 필터링 할 수 있습니까? – Lynchie

+0

또한 귀하의 코드를 사용하여 노력하고 거기에 특정 CallID 테이블에서 사용할 수 있지만 귀하의 방법을 내게 결과를 반환하지 않는다는 것을 알고 있습니다. :/ – Lynchie

+0

예, 원하는만큼의 열을 필터링 할 수 있습니다. DataTable 필터에 대해 많은 시간을 할애하십시오. Google은 귀하의 친구입니다! 귀하의 두 번째 의견에 관해서 ... 나는 코드를 통해 디버그 모드로 가서 DataTable 뷰어로 DataTable을 살펴볼 것을 제안합니다. 데이터 테이블에 어떤 데이터가 있는지 정확하게 표시합니다. 아주 편리합니다. –