Как отменить редактирование сетки данных - PullRequest
3 голосов
/ 03 августа 2011

У меня есть представление, которое использует usercontrol, который содержит сетку данных.Требования к представлению гласят, что если пользователь удаляет значение из столбца «Имя клиента», а затем покидает ячейку, не фиксируйте изменение и возвращайте значение обратно к исходному значению, то есть не допускайте пустых имен клиентов,Пользовательский контроль является общим кодом и используется несколькими приложениями.Требование отмены редактирования предназначено специально для вышеупомянутого представления (не для всех приложений, использующих пользовательский контроль).Как определить, что значение ячейки с именем клиента было удалено, и отменить редактирование, если значение пустое?

1 Ответ

3 голосов
/ 03 августа 2011

Вы можете обработать CellEditEnding - его Происходит до того, как редактирование ячейки будет зафиксировано или отменено.Здесь вы можете проверить текущее значение ячейки, и если оно удовлетворяет вашим условиям, вы можете делать все, что захотите. MSDN


Редактировать: Это мои предложения, но я не могу их одобрить.Вы можете получить новое значение через e.Row.Item и привести его к объекту, который вы надели DataGrid.Другим способом является приведение sender объекта правильным способом для получения доступа к новому значению ячейки.

+ 1 - это DataGridCellEditEndingEventArgs.EditingElement.Это FrameworkElement, и я думаю, вы знаете, что это такое (вероятно, TextBox или что-то еще).

также я думаю, что вы знаете, что вы должны делать!

...