XML DataGridView DirtyCells
В настоящее время у меня есть DataGridView, который связан с чтением DataSet из файла XML.
Заполнение DataGridView просто отлично; последний столбец - кнопка, которую я хочу, чтобы пользователь нажимал, чтобы зафиксировать изменения в строке.
Я могу легко определить, какие строки грязные, но у меня возникают проблемы с поиском, какие ячейки в грязном ряду сами по себе грязные.
Я просматривал каждую ячейку в грязном ряду, но они не отображаются как грязные.
Любые мысли приветствуются!
if ( this.inventoryGridView.Columns[e.ColumnIndex].Name == "itemCheckedIn" )
{
// Give the user a visual indicator the cells are "locked"/readonly by changing the background color
this.inventoryGridView.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.LightGray;
// Check if any changes have been made to the row that was checked in
if ( this.inventoryGridView.IsCurrentRowDirty )
{
foreach ( DataGridViewCell dirtyBoy in this.inventoryGridView.CurrentRow.Cells )
{
// Is he dirty?
}
}
// No changes were made to the row that was check in; let's log the check in
else
{
// Log the check in time
}
1 ответ
Вы можете попробовать это:
- Добавить скрытый столбец в ваш gridView
- При изменении любого значения в ячейке в строке, привязать к функции JavaScript
- При изменении значения запишите номер ячейки в скрытый столбец в виде значения, разделенного запятыми, например: 1, 3, 5 номеров ячеек были изменены
- Затем вы можете использовать значение скрытого столбца для создания массива и точно знать, какие ячейки изменились в строке.