Источник данных доступен во время разработки




DataGridView

Элемент управления DataGridView предоставляет настраиваемую таблицу для отображения данных.

В своей простейшей форме DataGridView имеет базисные компоненты, представленные на рис.

Рис. Базовые компоненты DataGridView

Помимо базисных элементов и базисного внешнего вида у этого control-а есть базовое поведение:

- Автоматически показывать заголовки колонок и заголовки строк. И те, и другие остаются видимыми при любом скроллинге.

- Ставить на одном из заголовков строк маркер (черный треугольничек) текущей строки.

- Выбирать целую строку, если пользователь щелкнет по заголовку строки.

- Выбирать сразу несколько строк, если щелчок по заголовку строки производится с зажатым Ctrl или Shift. При этом текущая строка (помеченная треугольничком) всегда будет единственной.

- Удалять все выбранные строки по нажатию на Delete.

- Отображать ячейку, имеющую фокус ввода, особым образом.

- Если пользователь выполнит двойной щелчок по разделителю колонок, будет произведена автоподборка ширины левой колонки.

- Если в методе Main приложения был вызван метод EnableVisualStyles, будет применяться стиль Windows XP, выбранный в настройках рабочего стола.

Помимо этого элемент управления поддерживает следующее редактирование содержимого:

- Если пользователь выполнит двойной щелчок по ячейке (или нажмет на ней F2), данная ячейка будет переведена в режим редактирования.

- Если пользователь изменит хотя бы один символ в редактируемой ячейке, на заголовке соответствующей строки появится спецсимвол (пишущий карандашик), и будет отображаться до тех пор, пока фокус ввода не покинет редактируемую ячейку, или пока пользователь не нажмет Esc. Последнее действие восстановит то значение ячейки, которое она содержала до входа в режим редактирования.

- Если пользователь прокрутит control вниз до последней строчки, будет отображена дополнительная, специальная строчка для внесения новой записи. Такая строчка всегда помечена символом звездочки на заголовке. Когда пользователь любым способом перемещается в эту строку, DataGridView добавляет новую запись со значениями по умолчанию. Если фокус ввода находится в этой строке, и пользователь нажимает Esc, новая запись пропадает, а фокус ввода перемещается на строчку выше.

Таблица – Свойства DataGridView

Свойство Значение  
Доступ к элементам таблицы
Rows, Columns Получает коллекцию, содержащую все строки (столбцы) в элементе управления DataGridView. В данном случае не указывается источник данных, можно создать столбцы и строки, содержащие данные, и добавить их непосредственно в объект DataGridView
Item[Int32, Int32]   Предоставляет индексатор для получения или задания ячейки, расположенной на пересечении указанных строки и столбца.
Item[String, Int32] Предоставляет индексатор для получения или задания ячейки, расположенной на пересечении строки с указанным индексом и строки с указанным именем.
RowCount, ColumnCount Возвращает или задает число строк (столбцов), отображаемых в объекте DataGridView
CurrentCell Возвращает или задает ячейку, которая является активной в данный момент.
CurrentCellAddress Получает индексы строки и столбца ячейки, которая является активной в данный момент.
CurrentRow Получает строку, содержащую текущую ячейку.
SelectedCells Получает коллекцию ячеек, выбранных пользователем.
SelectedRows, SelectedColumns Получает коллекцию строк (столбцов), выбранных пользователем.
Привязка к источнику данных
DataSource Возвращает или задает источник данных, для которого объект DataGridView отображает данные.
DataMember Возвращает или задает имя списка или таблицы в источнике данных, для которого объект DataGridView является отображением данных.
Настройка вида элемента
DefaultCellStyle Возвращает или задает стиль ячейки по умолчанию, который будет применяться к ячейкам в объекте DataGridView, если не заданы какие-либо другие свойства стиля ячейки.
CellBorderStyle Получает стиль границы ячейки для объекта DataGridView.
GridColor Возвращает или задает цвет линий сетки, разделяющих ячейки объекта DataGridView.
ForeColor Возвращает или задает основной цвет для объекта DataGridView.
RowHeadersDefaultCellStyle, ColumnHeadersDefaultCellStyle Возвращает или задает стиль заголовка строки (столбца) по умолчанию.
RowHeadersWidth, ColumnHeadersHeight Возвращает или задает высоту (в пикселях) строки заголовков столбцов
RowHeadersBorderStyle, ColumnHeadersBorderStyle Возвращает или задает стиль границы ячеек заголовков строк.
RowHeadersVisible, ColumnHeadersVisible Возвращает или задает значение, указывающее, отображается ли столбец, содержащий заголовки строк.
FirstDisplayedCell Возвращает или задает первую ячейку, отображаемую в данный момент в объекте DataGridView; обычно эта ячейка находится в левом верхнем углу.
Свойства, определяющие поведение пользователя
AllowUserToAddRows Возвращает или задает значение, указывающее, отображается ли для пользователя параметр добавления строк.
AllowUserToDeleteRows Возвращает или задает значение, указывающее, разрешено ли пользователю удалять строки из объекта DataGridView.
AllowUserToOrderColumns Возвращает или задает значение, указывающее, включена ли возможность изменения положения столбца вручную.
AllowUserToResizeColumns Возвращает или задает значение, указывающее, может ли пользователь изменять размер столбцов.
AllowUserToResizeRows Возвращает или задает значение, указывающее, может ли пользователь изменять размер строк.
MultiSelect Возвращает или задает значение, указывающее, разрешено ли пользователю выбирать одновременно более одной ячейки, строки или столбца объекта DataGridView.

Если DataGridView привязан через свойство DataSource к источнику данных, то по умолчанию выполняется следующее.

- Каждая колонка, получаемая из источника данных, вызовет добавление соответствующей колонки в элемент управления.

- Названия колонок источника отобразятся в заголовках колонок.

- Если пользователь щелкнет по заголовку колонки, строки будут автоматически отсортированы.

Элемент управления DataGridView предлагает гибкий способ отображения данных. Свойство DataSource может указывать на любой из следующих источников:

- массив (визуальная таблица может быть связана с любым одномерным массивом);

- DataTable;

- DataView;

- DataSet или DataViewManager;

- компоненты, реализующие интерфейс IListSource;

- компоненты, реализующие интерфейс IList;

- любой обобщенный класс коллекции или объект, унаследованный от обобщенного класса коллекции.

 

Каждая отдельная ячейка в DataGridView работает как встроенный элемент управления. Каждая ячейка может по-разному отображать содержащиеся в ней данные; флажки, выпадающие списки, ссылки, кнопки и текстовые поля — все эти типы ячеек поддерживаются.

Кроме возможностей по визуализации данных, каждая ячейка имеет собственный набор событий, которые можно перехватить в коде.

Добавление колонок

В самом общем случае существуют четыре возможные сценарии добавления колонок в DataGridView:

- Есть источник данных, он доступен во время разработки.

- Нет источника данных, но во время разработки доступна информация о составе и типе колонок.

- Есть источник данных, но он доступен только во время исполнения, а во время разработки ничего не известно ни о нем, ни о составе колонок.

- Нет источника данных, а состав/тип колонок выясняется динамически, во время исполнения, а во время разработки неизвестен тип и, возможно, даже количество колонок.

DataGridView позволяет в одном элементе управления иметь колонки, привязанные к данным, и колонки со свободными данными.

Источник данных доступен во время разработки

После задания значений свойств DataSource и DataMember элемент управления автоматически изучает схему источника и генерирует по колонке для каждой колонки таблицы или свойства объекта, коллекция которых используется как источник данных. При добавлении очередной колонки автоматически подбирается не только подходящий заголовок, но и ее тип. Т.е. если тип колонки будет int/decimal/string, то добавится колонка типа DataGridViewTextBoxColumn. Если колонка будет иметь тип boolean, то добавится уже DataGridViewCheckBoxColumn. Редактирование колонок осуществляется с помощью дополнительного ярлыка, находящегося в верхнем правом углу элемента управления, который предоставляет доступ к меню, состав элементов которого можно охарактеризовать как "наиболее часто используемые настройки" (рис.).

Рис.

При выборе пункта 'Edit Columns…' открывается диалог редактирования колонок (рис.).


Рис.

В нем можно удалить лишние колонки (кнопка Remove), изменить заголовок колонки (свойство HeaderText), тип колонки (свойство ColumnType) и ряд других свойств каждой колонки. В списке Selected Columns слева показываются все колонки, причем их порядок "сверху-вниз" соответствует порядку "слева-направо" элемента управления.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-12-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: