Изменение порядка просмотра данных при изменении значения ячейки - PullRequest
2 голосов
/ 11 ноября 2019

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

Например, допустим, я начинаю с datagridveiw на картинке ниже. enter image description here

Затем я внесу изменение в столбец «Линия» первой строки и перенумерую его в 8. В этот момент я хотел бы переместить строку 1 туда, где находится текущая строка 8is и все остальные строки будут перенумерованы.

Я реализовал следующий код для этого.

    Dim OuterSourceRowIndex As Integer
    Dim InnerSourceRowIndex As Integer

    If e.ColumnIndex = 0 Then
        For Each rowOuter As DataGridViewRow In dgvReceive.Rows
            For Each rowInner As DataGridViewRow In dgvReceive.Rows
                OuterSourceRowIndex = rowOuter.Index
                InnerSourceRowIndex = rowInner.Index
                If rowOuter.Cells(0).Value >= rowInner.Cells(0).Value Then
                    dgvReceive.Rows.RemoveAt(OuterSourceRowIndex)
                    dgvReceive.Rows.Insert(InnerSourceRowIndex, rowOuter)
                End If
            Next
        Next

        For Each row As DataGridViewRow In dgvReceive.Rows
            row.Cells(0).Value = row.Index + 1
        Next
    End If

Когда я пытаюсь действительно внести изменения, я получаю следующеегде строка 1 фактически перемещена в положение 7. Все это происходит в событии CellValueChanged enter image description here

Я прошу прощения, если на этот вопрос уже был дан ответ. Я не смог найти ничего подобного. Спасибо за любую помощь.

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