В настоящее время я борюсь с 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);
}