我比較兩個相鄰列表視圖中的項目,並標記相關項目(在我的一列中,即產品ID)。比較兩個相鄰列表視圖中的列表視圖項目,並執行相同項目的內容......採取太多loooong
我的問題是他花了很多時間來完成這個過程(幾分鐘)。我目前使用的「finditemwithtext」和重載爲包括子項目searhces(我proiduct ID列是分項(1)...
我在列表視圖1 12K項目,並在列表視圖6K項目2
目前,我正在通過listview 1「步進」,並在listview 2中搜索一個類似的項目。
以相反的方式執行操作,逐步執行2,搜索1,可能會有與其唯一的性能問題相同的性能問題通過6K項目,但搜索12K,通過12K步進,搜索6K ...
也許有一個月重新獲得最終結果的有效方法?
當然,它的東西赫克負荷比較... 6000×6列(36000個比較)..用我微薄的計算...
感謝,希望得到一些輸入...
代碼:
Dim tmpListviewItem As New ListViewItem
Dim c As Int32 = 0
For Each i As ListViewItem In list1.Items
If i.SubItems(5).Text = "" Then 'not yet linked item
tmpListviewItem = list2.FindItemWithText(i.SubItems(1).Text, True, 0, False)
If tmpListviewItem Is Nothing Then 'nothing found...
Else 'found corresponding item
c += 1
i.SubItems(5).Text = tmpListviewItem.SubItems(1).Text
tmpListviewItem.SubItems(5).Text = i.SubItems(1).Text
i.ForeColor = Color.Green
tmpListviewItem.ForeColor = Color.Green
End If
End If
Next
在評論方面講,我要嘗試手動迭代thorugh第二列表視圖,並exeting當前的搜索,當我找到一個項目..也只有searhcing的一個子項..但不知道有多少性能會得到......我不確定在「finditemwithtext」方法中會發生什麼...... –
是您在每個列表中唯一搜索的一個子項目嗎?我會使用KeyedCollection並有一個顏色屬性。並將ListViews綁定到KeyedCollection。 – Paparazzi
嗨,好的,必須要對此做一些研究...是的,產品代碼子項目「應該」是獨一無二的......它們直接來源於兩個不同的數據庫......我確信它們是PK 。 –