Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Элемент DataGridView управления может отображать данные в трех разных режимах: привязанных, несвязанных и виртуальных. Выберите наиболее подходящий режим в зависимости от ваших требований.
Несвязанный
Режим без подключения подходит для отображения относительно небольших объемов данных, управляемых программным образом. Элемент управления DataGridView не подключается непосредственно к источнику данных так, как это делается в режиме привязки. Вместо этого необходимо заполнить элемент управления самостоятельно, как правило, с помощью DataGridViewRowCollection.Add метода.
Режим без подключения может быть особенно полезен для статических, доступных только для чтения данных, или если требуется предоставить собственный код, взаимодействующий с внешним хранилищем данных. Если вы хотите, чтобы пользователи взаимодействовали с внешним источником данных, обычно используется режим привязки.
Для примера, в котором используется элемент без привязки, доступный только для чтения DataGridView, см. Практическое руководство: создание элемента управления DataGridView для не связанных форм Windows Forms.
Связан
Режим привязки подходит для управления данными с помощью автоматического взаимодействия с хранилищем данных. Элемент управления DataGridView можно подключить непосредственно к источнику данных DataSource, установив соответствующее свойство. Если элемент управления привязан к данным, строки данных отправляются и извлекаются без необходимости явного ручного управления с вашей стороны.
AutoGenerateColumns Если свойство равноtrue
, каждый столбец в источнике данных приведет к созданию соответствующего столбца в элементе управления. Если вы предпочитаете создавать собственные столбцы, вы можете задать это свойство false
и использовать свойство DataPropertyName для привязки каждого столбца при его настройке. Это полезно, если вы хотите использовать тип столбца, отличный от типов, созданных по умолчанию. Дополнительные сведения см. в разделе Типы столбцов в элементе управления DataGridView Windows Forms.
Например, использование привязанного DataGridView элемента управления см. в пошаговом руководстве: Проверка данных в элементе управления Windows Forms DataGridView.
Кроме того, можно добавить несвязанные столбцы в элемент управления DataGridView в режиме привязки. Это полезно, если вы хотите отобразить столбец кнопок или ссылок, которые позволяют пользователям выполнять действия по определенным строкам. Также полезно отображать столбцы со значениями, вычисляемыми из привязанных столбцов. Вы можете заполнить значения ячеек для вычисляемых столбцов в обработчике CellFormatting события. Однако если вы используете DataSet или DataTable как источника данных, вы можете вместо этого воспользоваться свойством DataColumn.Expression для создания вычисляемого столбца. В этом случае элемент управления будет обрабатывать вычисляемый столбец так же, DataGridView как и любой другой столбец в источнике данных.
Сортировка по несвязанным столбцам в режиме привязки не поддерживается. При создании несвязанного столбца в связанном режиме, содержащем редактируемые пользователем значения, необходимо реализовать виртуальный режим для поддержания этих значений при сортировке элемента управления по привязанным столбцам.
Виртуальное
С помощью виртуального режима можно реализовать собственные операции управления данными. Это необходимо для поддержания значений несвязанных столбцов в режиме привязки при сортировке элемента управления по привязанным столбцам. Однако основное использование виртуального режима заключается в оптимизации производительности при взаимодействии с большими объемами данных.
Вы присоединяете DataGridView элемент управления к кэшу, которым вы управляете, и ваш код контролирует, когда строки данных отправляются и извлекаются. Чтобы сохранить объем памяти небольшим, кэш должен быть похож на количество строк, отображаемых в данный момент. Когда пользователь прокручивает новые строки в режиме просмотра, код запрашивает новые данные из кэша и при необходимости сбрасывает старые данные из памяти.
При реализации виртуального режима необходимо отслеживать, когда в модели данных требуется новая строка, а также время отката добавления новой строки. Точная реализация этой функции зависит от реализации модели данных и семантики транзакций этой модели; от того, находится ли область фиксации на уровне ячейки или строки.
Дополнительные сведения о виртуальном режиме см. в разделе "Виртуальный режим" в элементе управления DataGridView в Windows Forms. Пример использования событий виртуального режима см. в пошаговом руководстве. Реализация виртуального режима в элементе управления DataGridView в Windows Forms.
См. также
- DataGridView
- DataGridView.DataSource
- DataGridView.VirtualMode
- BindingSource
- DataGridViewColumn.DataPropertyName
- Отображение данных в элементе управления DataGridView в Windows Forms
- Типы столбцов в элементе управления Windows Forms DataGridView
- Пошаговое руководство. Создание несвязанного элемента управления Windows Forms DataGridView
- Как привязать данные к контролю DataGridView в Windows Forms
- Виртуальный режим в элементе управления DataGridView для Windows Forms
- Пошаговое руководство: Реализация режима виртуализации в контроле DataGridView Windows Forms
.NET Desktop feedback