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