Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предупреждение
Этот документ был архивирован, и компонент недоступен в текущей версии набора средств сообщества Windows.
Хотя нет немедленных планов по переносу этого компонента непосредственно в 8.x, важно понимать следующее:
- WcT 7.x DataGrid по-прежнему используется вместе с компонентами WCT 8.x для существующих проектов.
- Элемент управления DataGrid устарел в пользу нового компонента DataTable.
Для новой разработки рекомендуется использовать компонент DataTable, который предлагает улучшенные функциональные возможности и активно поддерживается. Если у вас есть конкретные требования, которым DataTable не удовлетворяет, рассмотрите возможность внести свой вклад в WCT Labs, где улучшения компонентов прототипируются и инкубируются.
Дополнительные сведения:
- Документация по концепциям DataGrid (Archived)
- Обсуждение DataGrid в Labs
- Репозиторий GitHub сообщества инструментов
- Замечания и предложения по документации
Исходная документация приведена ниже.
Изменение ячеек и строк
Элемент управления DataGrid поддерживает функции редактирования ячеек и строк. По умолчанию элементы можно редактировать непосредственно в DataGrid. Пользователь может ввести режим редактирования в ячейке, нажав клавишу F2 или дважды коснувшись ячейки. Кроме того, можно задать для свойства DataGridColumn.IsReadOnly значение true, чтобы отключить редактирование в определенных столбцах DataGrid.
<controls:DataGrid BeginningEdit="dg_Editing" CellEditEnding="dg_CellEditEnding" RowEditEnding="dg_RowEditEnding" />
Изменение уровня ячейки фиксируется при переходе на другую ячейку в той же строке. Все изменения в строке фиксируются при нажатии клавиши ВВОД или переходе к другой строке.
Чтобы гарантировать правильность фиксации и отмены изменений, объекты в DataGrid должны реализовать интерфейс IEditableObject .
Редактирование методов и событий
В следующей таблице перечислены методы и события, поддерживаемые DataGrid для функций редактирования ячеек и строк.
| Тип | Имя | Description |
|---|---|---|
| Метод | ПодготовкаЯчейкиДляРедактирования | Происходит, когда ячейка в DataGridTemplateColumn входит в режим редактирования. Это событие не происходит для ячеек в других типах столбцов. |
| Метод | PrepareCellForEdit | Происходит, когда ячейка в столбце, производная от DataGridColumn, входит в режим редактирования. Это событие не происходит для ячеек типа DataGridTemplateColumn. |
| Метод | НачатьРедактирование | Позволяет сетке данных входить в режим редактирования текущей ячейки и текущей строки, если сетка данных еще не находится в режиме редактирования. |
| Метод | CommitEdit | Позволяет сетке данных зафиксировать текущее изменение в источнике данных и при необходимости выйти из режима редактирования. |
| Метод | Отменить правку | Позволяет сетке данных отменить текущее изменение, восстановить исходное значение и выйти из режима редактирования. |
| Event | НачалоEdit | Происходит до ввода ячейки или строки в режим редактирования. Это событие позволяет выполнять специальную обработку перед вводом ячейки или строки в режим редактирования. |
| Event | CellEditEnding | Происходит, когда изменение ячейки заканчивается. Это событие можно отменить, задав свойству Cancel аргумента e значение true в обработчике событий. Если это событие не отменено, указанное действие EditAction будет выполнено для подтверждения или отмены изменения. После успешного подтверждения или отмены изменения происходит событие CellEditEnded. |
| Event | CellEditEnded | Происходит при сохранении или отмене изменения ячейки. |
| Event | RowEditEnding | Происходит при завершении редактирования строки. Это событие можно отменить, задав свойству Cancel аргумента e значение true в обработчике событий. Если это событие не отменено, указанное действие EditAction будет выполнено для подтверждения или отмены изменения. После успешного подтверждения или отмены изменения происходит событие RowEditEnded. |
| Event | РедактированиеСтрокиЗавершено | Происходит при фиксации или отмене изменения строки. |
Перечисления
- Перечисление DataGridEditAction: указывает константы, определяющие, какое действие было предприняно для завершения изменения. Поддерживаемые члены:
- Отмена: изменение было отменено.
- Зафиксировано: изменение было внесено.
- Перечисление DataGridEditingUnit: указывает константы, определяющие, включено ли редактирование на уровне ячейки или на уровне строки. Поддерживаемые члены:
- Ячейка: включено редактирование ячеек.
- Строка: включено редактирование строк.
Проверка входных данных
Элемент управления DataGrid поддерживает проверку вводимых данных с помощью INotifyDataErrorInfo в DataModel или ViewModel. Реализуйте логику проверки данных, реализуя методы DataErrorsChangedEventArgs, HasErrors и GetErrors. Элемент управления DataGrid автоматически отображает интерфейс ошибки в редактируемой ячейке или строке при выполнении условий ошибки.
См. пример DataGrid для примера обработки проверки ввода в элементе управления DataGrid.
См. также
.NET Community Toolkit