Отразить два ряда данных - PullRequest
       5

Отразить два ряда данных

0 голосов
/ 14 января 2011

У меня есть данные в .net.Мне нужно изменить местоположение двух из них.Например, для данных, что в операторе select было предложение order by priority.Пользователь хочет повысить приоритет одной строки, выбрав ее и щелкнув на увеличение приоритета, как мне переместить строку вверх (AKA перевернуть две строки)

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 14 января 2011

Используйте 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

0 голосов
/ 14 января 2011

Вы можете сделать это:

Обновление приоритета для обеих строк в базе данных, а затем повторное заполнение вашей сетки (я предполагаю, что у вас есть сетка, отображающая вашу таблицу данных). (самый простой, самый дорогой)

Или вы можете обновить приоритет в базе данных и программно обновить независимость строк для обеих строк. (немного сложнее, дешевле)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...