DataGridView с проблемой ячейки CheckBox - PullRequest
8 голосов
/ 23 октября 2010

У меня есть DataGridView со столбцом DataGridViewCheckBoxColumn, который привязан к списку данных. Проблема заключается в том, что булево свойство привязанной к данным для этого флажка обновляется не тогда, когда флажок установлен / снят, а после события CellLeave, другими словами, после того, как ячейка теряет фокус. Я хочу, чтобы это свойство обновлялось сразу после проверки / снятия отметки. Есть событие CurrentCellDirtyStateChanged, которое запускается сразу после проверки / снятия флажка, поэтому я могу использовать его для обновления свойства вручную. Есть ли лучший способ сделать это?

Ответы [ 2 ]

13 голосов
/ 23 октября 2010

Вы можете прослушать событие CurrentCellDirtyStateChanged и принудительно зафиксировать изменение:

void dataGridView1_CurrentCellDirtyStateChanged(object sender,
    EventArgs e)
{
    if (dataGridView1.IsCurrentCellDirty)
    {
        dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
    }
}
0 голосов
/ 23 октября 2010

взгляните на свойство Binding.UpdateSourceTrigger

http://msdn.microsoft.com/en-us/library/system.windows.data.binding.updatesourcetrigger(VS.95).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...