XML DataGridView DirtyCells - PullRequest
       20

XML DataGridView DirtyCells

0 голосов
/ 17 января 2011

В настоящее время у меня есть DataGridView, который привязан к чтению набора данных из файла 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 Ответ

0 голосов
/ 18 января 2011

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

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