Столбцы могут быть переупорядочены путем перетаскивания заголовков столбцов во время выполнения. Чтобы переупорядочить столбцы программным способом, вам нужно изменить коллекцию столбцов ListView.View, например:
GridView gv = listview.View as GridView;
GridViewColumn cd = gv.Columns[0];
gv.Columns.Remove(cd);
gv.Columns.Add(cd);
(при условии, что listview - это ваш ListView, а его View - это GridView как минимум с 2 столбцами), этот код поместит первый столбец в конец.
Чтобы переупорядочить строки программным способом, вы изменяете коллекцию за ListView (если у ListView нет сортировки, если она есть, не нужно изменять порядок строк).
Чтобы изменить порядок строк с помощью перетаскивания, вам нужно написать некоторый код для обработки всех красивых событий, которые определяют операцию перетаскивания. Примером и отправной точкой может быть это сообщение в блоге .
Кроме того, если вы предоставите более подробную информацию о том, что именно вы хотите, мы можем предоставить более подробные ответы.