This article describe how two data rows of a listview are changed.
In this article, I am describing how two data rows swap within a list view by using C#. To solve this task, I searched so many things but did not find a useful link. In the end, I develop own code which performs this task successfully.
I get the index of above selected data item and then make two variables of String and get values of selected item and above of selected item. Then assign values; give value of selected item to above of selected item and value of above selected item to selected item. To make a listviewItem object tmp and add them into listviewItem Object. And it's working. This is code for upward button for downward only change one thing; change sign of - into +. It will work for downward.
Upward Direction:
int indexs = (listview_urls.SelectedItems[0].Index) - 1;
if (indexs > -1)
{
string s = listview_urls.SelectedItems[0].SubItems[1].Text;
string S2 = listview_urls.Items[indexs].SubItems[1].Text;
listview_urls.SelectedItems[0].SubItems[1].Text = S2;
listview_urls.Items[indexs].SubItems[1].Text = s;
ListViewItem tmp = new ListViewItem();
tmp.SubItems.Add(S2);
tmp.SubItems.Add(s); ListViewItem nextItem = listView_Scheduler.Items[indexs]; nextItem.Selected = true; listView_Scheduler.Items[indexs + 1].Selected = false; listView_Scheduler.Focus(); listView_Scheduler.Refresh();}
else
MessageBox.Show("Sorry!Can't move further upward");
}
Downward Direction:
int indexs = (listview_urls.SelectedItems[0].Index) + 1;
if (indexs < listview_urls.Items.Count)
tmp.SubItems.Add(s); ListViewItem nextItem = listView_Scheduler.Items[indexs]; nextItem.Selected = true; listView_Scheduler.Items[indexs - 1].Selected = false; listView_Scheduler.Focus(); listView_Scheduler.Refresh();}
MessageBox.Show("Sorry!Can't move further Downward");
Try it and enjoy it.
Programming Windows Common Dialogs with Visual C# 2010