As part of a bubble sort of listview items I call a routine that swaps row idx with row idx+1. What I have works, but I know there has to be a much better and quicker way of doing this than the way I am doing it.
I tried using a temporary ListViewItem to hold the ListView1 item shown below, but I guess you can’t directly assign one ListView item to another. It seems you have to completely remove one listview item and then add the other after it as a new item.Code:Private Sub SwapItems(ByVal idx As Integer) Dim Temp0 As String = "" Dim Temp1 As String = "" Dim Temp2 As String = "" Dim Temp3 As String = "" Dim Temp4 As String = "" Dim Temp5 As String = "" Dim Temp6 As String = "" Temp0 = ListView1.Items(idx).Text Temp1 = ListView1.Items(idx).SubItems(1).Text Temp2 = ListView1.Items(idx).SubItems(2).Text Temp3 = ListView1.Items(idx).SubItems(3).Text Temp4 = ListView1.Items(idx).SubItems(4).Text Temp5 = ListView1.Items(idx).SubItems(5).Text Temp6 = ListView1.Items(idx).SubItems(6).Text ListView1.Items(idx).Text = ListView1.Items(idx + 1).Text ListView1.Items(idx).SubItems(1).Text = ListView1.Items(idx + 1).SubItems(1).Text ListView1.Items(idx).SubItems(2).Text = ListView1.Items(idx + 1).SubItems(2).Text ListView1.Items(idx).SubItems(3).Text = ListView1.Items(idx + 1).SubItems(3).Text ListView1.Items(idx).SubItems(4).Text = ListView1.Items(idx + 1).SubItems(4).Text ListView1.Items(idx).SubItems(5).Text = ListView1.Items(idx + 1).SubItems(5).Text ListView1.Items(idx).SubItems(6).Text = ListView1.Items(idx + 1).SubItems(6).Text ListView1.Items(idx + 1).Text = Temp0 ListView1.Items(idx + 1).SubItems(1).Text = Temp1 ListView1.Items(idx + 1).SubItems(2).Text = Temp2 ListView1.Items(idx + 1).SubItems(3).Text = Temp3 ListView1.Items(idx + 1).SubItems(4).Text = Temp4 ListView1.Items(idx + 1).SubItems(5).Text = Temp5 ListView1.Items(idx + 1).SubItems(6).Text = Temp6 End Sub
Code:Dim TempItem As ListViewItem TempItem = ListView1.Items(idx) ListView1.Items(idx) = ListView1.Items(idx + 1) ListView1.Items(idx + 1) = TempItem




Reply With Quote
