WPF Datagrid Edit не позволяет мне изменять другие ячейки

У меня есть Datagrid, DataContext которого назначен Dataview. Когда я пытаюсь отредактировать сетку данных, показанную в форме, вокруг редактируемой ячейки появляется красная рамка ПОСЛЕ того, как я щелкаю или нажимаю Enter. Затем я пытаюсь дважды щелкнуть другую ячейку, но это не позволит мне находиться в режиме редактирования.

Я пытался следить за http://www.scottlogic.co.uk/blog/colin/2009/01/wpf-datagrid-committing-changes-cell-by-cell/ и http://codefluff.blogspot.com/2010/05/commiting-bound-cell-changes.html но ни один из них не работает в моем случае.

Мой код для события CellEditEnding

 private void dgCompList_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
    {
        if (!isManualEditCommit)
        {
            isManualEditCommit = true;                
            System.Windows.Controls.DataGrid grid = (System.Windows.Controls.DataGrid)sender;
            grid.CommitEdit(DataGridEditingUnit.Row, true);
            isManualEditCommit = false;
        }
    }

Я также пытался использовать CommitEdit() в самой фактической сетке данных, но нада. Может ли кто-нибудь объяснить мне, что происходит и как это решить, пожалуйста?


person MHTri    schedule 14.04.2011    source источник
comment
граница чтения вокруг него после редактирования звучит как проблема обработки/проверки ошибок   -  person Muad'Dib    schedule 14.04.2011
comment
@Muad'Dib Боже мой, большое спасибо! Это действительно была проблема проверки (я передавал строку в столбец типа int). Я действительно хочу, чтобы он выдавал ошибку вместо красной рамки!   -  person MHTri    schedule 14.04.2011


Ответы (1)


обычно красная рамка вокруг ячейки является состоянием ошибки, поэтому мне кажется, что у вас есть какая-то ошибка проверки.

person Muad'Dib    schedule 14.04.2011
comment
Спасибо за ответ. Знаете ли вы, как проверить тип данных столбца в datatable/datarowview, прежде чем я смогу выполнить редактирование? - person MHTri; 15.04.2011
comment
Я считаю, что есть событие, которое срабатывает, к которому вы можете подключиться, но я не совсем уверен, как это сделать. - person Muad'Dib; 15.04.2011