Используйте DataView
для этой таблицы, отсортированные по столбцу «приоритет».Если вы хотите увеличить приоритет, увеличьте этот столбец и уменьшите его в строке выше.DataView
будет отражать изменение пользовательского интерфейса.
Private _view As DataView
...
_view = New DataView(theTable, "", "priority", DataViewRowState.CurrentRows)
dataGridView1.DataSource = _view
...
' Increase priority of row at index i
If i > 0 Then
Dim row = _view(i)
Dim previousRow = _view(i - 1)
row("priority") = row("priority") + 1
previousRow("priority") = previousRow("priority") - 1
End
...
' Decrease priority of row at index i
If i < _view.Count - 1 Then
Dim row = _view(i)
Dim nextRow = _view(i + 1)
row("priority") = row("priority") - 1
nextRow ("priority") = nextRow ("priority") + 1
End
Когда вы закончите изменение приоритетов, обновите базу данных с помощью DataAdapter