Извлечение «старых» индексов строк после изменения порядка строк - PullRequest
0 голосов
/ 26 января 2012

В настоящее время я борюсь с DataTables и DataGridViews.

Ситуация следующая:

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

Теперь возникает проблема: когда я вычисляю сумму / произведение в «исходной» строке-порядке, новый столбец заполняется нормально, но когда я переупорядочиваю некоторые строки, добавленный столбец заполняется на основе «старой» ситуации. положение строк отключено .

Пример:

  • В моем DGV есть строка с идентификатором 2, я вычисляю несколько ячеек в этой строке, добавляется и заполняется новый столбец. Расчетное значение теперь в (строка 2, новый столбец)
  • Теперь я перетаскиваю строку 4 в положение строки 2 и вычисляю несколько ячеек. Не рассчитанное значение добавляется в новый столбец в позиции (старая строка 2, новый столбец)

Вопрос:

  • возможно ли получить индексы строк "старой" ситуации после переупорядочения?
  • Есть ли лучший подход для достижения такого рода расчетов?

Дополнительная информация:

Я использую DGV.selectedCells.rowIndex, чтобы получить индексы

for (int i = 0; i < selectedCellCount; i++)
{
    rows.Add(Dat.SelectedCells[i].RowIndex); 
}
...