두 gridview 사이를 비교해야하는 프로그램으로 작업하고 있습니다.두 gridview를 비교하고 내부 데이터 순서를 무시하는 방법
두 번째 gridview는 txtQuery.text의 사용자 입력에 따라 달라 지므로 gridview를 비교하고 TRUE 또는 FALSE인지 확인합니다. 위의 표와 같이 데이터 순서와 관련없이 결과가 동일하다면 true를 표시하고 틀리면 false를 표시합니다.그래서, 나는
column 1 | column 2 | column 3 a | d | g b | e | h c | f | j
두 번째 gridview에 데이터가 데이터베이스에서 검색하고,이 gridview에
첫 번째 GRIDVIEW 내가 수동으로 추가 데이터를 가지고 있습니다.
column 1 | column 3 | column 2 a | g | d b | h | e c | j | f
또는 다음과 같이 될 수있다 : 예 검색 결과는 다음과 같다 한마디로
Protected Sub btnCheck_Click(sender As Object, e As EventArgs) Handles btnCheck.Click sql = txtQuery.Text cmd = New SqlCommand(sql, con) drDataReader = cmd.ExecuteReader dtDatatable.Load(drDataReader) GridView1.DataSource = dtDatatable GridView1.DataBind() GridView1.Visible = True End Sub
: 나는 데이터베이스에서 데이터를 검색하기 위해이 코드를 사용
column 2 | column 1 | column 3 d | a | g e | b | h f | c | j
EDITED : 배열에 gridview 값을 저장하고 배열을 비교하려고했습니다. 비교는 arraylist2에있는 모든 데이터가 arraylist1에 존재하는지, 그리고 arraylist1의 데이터가 arraylist2에 존재 하는지를 확인하는 것이다. 이 코드를 사용하여 첫 번째 비교를 시도했지만 작동하지 않는 것 같습니다.
Protected Sub btnCheck_Click(sender As Object, e As EventArgs) Handles btnCheck.Click
Dim arrayList1 As ArrayList = New ArrayList()
Dim arrayList2 As ArrayList = New ArrayList()
Dim arrayList3 As ArrayList = New ArrayList()
Dim a As Integer
Dim b As Integer
For a = 0 To GridView1.Rows.Count - 1 Step 1
For b = 0 To GridView1.Columns.Count - 1 Step 1
arrayList1.Add(GridView1.Rows(a).Cells(b).Text)
Next
Next
Dim c As Integer
Dim d As Integer
For c = 0 To GridView2.Rows.Count - 1 Step 1
For d = 0 To GridView2.Columns.Count - 1 Step 1
arrayList2.Add(GridView2.Rows(c).Cells(d).Text)
Next
Next
If Not arrayList2.Contains(arrayList1) Then
MsgBox("True")
Else
MsgBox("False")
End If
이유는 모르지만 위의 코드는 항상 "TRUE"로 표시됩니다.
코드에 문제가 있습니까? 난 각 행에 대한 문자열 대신 행 번호를 읽는 것 같아요.
미리 감사드립니다.
arrayList2.Contains(arrayList1)
(가)() 방법은 하나의 값만을보고 포함
직접적인 해결책 : gridviews의 데이터 소스 인 데이터 테이블의 데이터를 비교하십시오. 원하는 경우 행/열 또는 LINQ를 반복하면됩니다. –
전 LINQ를 사용하지 않습니다. LINQ를 대신 사용하는 것이 더 쉬운가요? –
을 비교하면이 솔루션을 살펴볼 수 있습니다. http://stackoverflow.com/questions/26083931/find-duplicats-and-display-in-new-datagridview/26090833#26090833 물론 복사본이 없으면 꽤 유사해야합니다. – Nocturnal