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 ответ

Вы можете попробовать это:

  1. Добавить скрытый столбец в ваш gridView
  2. При изменении любого значения в ячейке в строке, привязать к функции JavaScript
  3. При изменении значения запишите номер ячейки в скрытый столбец в виде значения, разделенного запятыми, например: 1, 3, 5 номеров ячеек были изменены
  4. Затем вы можете использовать значение скрытого столбца для создания массива и точно знать, какие ячейки изменились в строке.
Другие вопросы по тегам