Я установил DataGrid с несколькими столбцами, флажком и столбцом в конце строки.
Я также меняю макет сетки данных в событии OnItemCreated
, которое изменяет макет сетки данных, расширяя строки с помощью атрибута «Rowspan» и удаляя лишние столбцы и элементы управления, где они больше не требуются.
Исходный макет datagrid был настроен следующим образом:
___________________________________________
| 1 | Employee Name | 01/08/10 |[] |[SAVE]|
| 1 | Employee Name | 02/08/10 |[] |[SAVE]|
___________________________________________
| 2 | Employee Name | 01/08/10 |[] |[SAVE]|
___________________________________________
| 3 | Employee Name | 04/08/10 |[] |[SAVE]|
| 3 | Employee Name | 05/08/10 |[] |[SAVE]|
| 3 | Employee Name | 06/08/10 |[] |[SAVE]|
___________________________________________
| 4 | Employee Name | 03/08/10 |[] |[SAVE]|
___________________________________________
И теперь это выглядит так: строки развернуты, элементы управления удалены, а столбцы таблицы данных удалены ...
___________________________________________
| 1 | Employee Name | 01/08/10 |[] |[SAVE]|
| | | 02/08/10 | | |
___________________________________________
| 2 | Employee Name | 01/08/10 |[] |[SAVE]|
___________________________________________
| 3 | Employee Name | 04/08/10 |[] |[SAVE]|
| | | 05/08/10 | | |
| | | 06/08/10 | | |
___________________________________________
| 4 | Employee Name | 03/08/10 |[] |[SAVE]|
___________________________________________
Страница отображается при открытии, и элемент управления разбиением на страницы работает должным образом каждый раз, когда пользователь щелкает номер страницы.
Однако, когда я нажимаю кнопку [СОХРАНИТЬ] для конкретного сотрудника, появляется сообщение об ошибке, похожее на «Недействительный обратный вызов или обратный вызов». Я понимаю, что это результат элементов управления и столбцов, которые я удалил в сетке данных, и проверка события не соответствует исходным визуализированным элементам.
Я не хочу удалять EnableEventValidation, потому что это проблема безопасности.
Я знаю, что мне нужно использовать метод Render, чтобы исправить любые изменения, которые я сделал до отображения страницы, но как мне решить эту проблему с обратной передачей?