Создание и добавление колонки в DataGridView
В этой статье показано, как программно создать и добавить колонку в DataGridView.
Создадим новое приложение типа Windows Forms Application на языке c#, после чего добавим на форму элемент управления DataGridView (dgv) и кнопку (Button).
Создание колонки в DataGridView
Перед тем как создать колонку в DataGridView необходимо определить её тип:
DataGridViewTextBoxColumn DataGridViewCheckBoxColumn DataGridViewImageColumn DataGridViewComboBoxColumn DataGridViewButtonColumn DataGridViewLinkColumn Custom Column (пользовательский тип)
Каждый тип имеет свои особенности, например:
Например, создадим в элементе DataGridView колонку, которая будет отображать возраст человека. Возраст — это числовое значение, поэтому колонка будет иметь тип DataGridViewTextBoxColumn.
Код создания объекта поместим в обработчике события Button_Click.
После того как объект создан, можно установить или изменить его свойства. Например, с помощью свойства Name укажем название колонки:
С помощью свойства HeaderText установим заголовок колонки, который будет, отображаться в элементе DataGridView.
Ну и, например, изменим ширину колонки с помощью свойства Width.
Добавление колонки в DataGridView
Колонка создана, и теперь её нужно добавить в DataGridView. Для этого воспользуемся методом Add, с помощью которого мы поместим ранее созданный объект в коллекцию типа DataGridViewColumnCollection представленную свойством Columns.
С помощью свойства Count убедимся, что колонка действительно была добавлена в DataGridView.
Метод Add позволяет не только добавлять уже
созданные объекты (колонки), но и создавать их на лету. Например,
колонку dgvAge можно создать и добавить следующим образом:
В результате будет создана колонка типа (по умолчанию) DataGridViewTextBoxColumn.
Теперь можно изменить свойства добавленной колонки:
Обратиться к добавленной колонке можно либо по имени, которое задаётся с помощью свойства Name, как в выше приведенном примере, либо с помощью числового индекса, узнать или получить который можно с помощью свойства Index.
Добавление нескольких колонок
Если Вам необходимо добавить сразу несколько колонок, то в таком случае вместо метода Add вы можете воспользоваться методом AddRange, например:
В этой статье показано, как программно создать и добавить колонку в DataGridView.
Создадим новое приложение типа Windows Forms Application на языке c#, после чего добавим на форму элемент управления DataGridView (dgv) и кнопку (Button).
Создание колонки в DataGridView
Перед тем как создать колонку в DataGridView необходимо определить её тип:
DataGridViewTextBoxColumn DataGridViewCheckBoxColumn DataGridViewImageColumn DataGridViewComboBoxColumn DataGridViewButtonColumn DataGridViewLinkColumn Custom Column (пользовательский тип)
Каждый тип имеет свои особенности, например:
- DataGridViewCheckBoxColumn — колонка используется для отображения значений типа Boolean.
- DataGridViewTextBoxColumn — позволяет отобразить числовые данные либо строки.
- DataGridViewLinkColumn — используется для вывода гиперссылок или ссылок на какие-то данные.
Например, создадим в элементе DataGridView колонку, которая будет отображать возраст человека. Возраст — это числовое значение, поэтому колонка будет иметь тип DataGridViewTextBoxColumn.
Код создания объекта поместим в обработчике события Button_Click.
Код:
private void button1_Click(object sender, EventArgs e)
{
//создание колонки
DataGridViewTextBoxColumn dgvAge;
dgvAge = new DataGridViewTextBoxColumn();
}
dgvAge.Name = "dgvAge";
С помощью свойства HeaderText установим заголовок колонки, который будет, отображаться в элементе DataGridView.
dgvAge.HeaderText = "Возраст";
Ну и, например, изменим ширину колонки с помощью свойства Width.
dgvAge.Width = 100;
Добавление колонки в DataGridView
Колонка создана, и теперь её нужно добавить в DataGridView. Для этого воспользуемся методом Add, с помощью которого мы поместим ранее созданный объект в коллекцию типа DataGridViewColumnCollection представленную свойством Columns.
Код:
private void button1_Click(object sender, EventArgs e)
{
//создание колонки
DataGridViewTextBoxColumn dgvAge;
dgvAge = new DataGridViewTextBoxColumn();
//установка свойств
dgvAge.Name = "dgvAge";
dgvAge.HeaderText = "Возраст";
dgvAge.Width = 100;
//добавили колонку
dgv.Columns.Add(dgvAge);
//либо
dgv.Columns.Add(new DataGridViewTextBoxColumn() { Name = "dgvAge", HeaderText = "Возраст", Width = 100});
}
С помощью свойства Count убедимся, что колонка действительно была добавлена в DataGridView.
int dgvСolumnsCount = dgv.Columns.Count; //1
Метод Add позволяет не только добавлять уже
созданные объекты (колонки), но и создавать их на лету. Например,
колонку dgvAge можно создать и добавить следующим образом:
dgv.Columns.Add("dgvAge", "Возраст");
В результате будет создана колонка типа (по умолчанию) DataGridViewTextBoxColumn.
Теперь можно изменить свойства добавленной колонки:
Код:
//устанавливаем ширину колонки
dgv.Columns["dgvAge"].Width = 100;
Код:
int index = dgv.Columns["dgvAge"].Index;
dgv.Columns[index].Width = 100;
Если Вам необходимо добавить сразу несколько колонок, то в таком случае вместо метода Add вы можете воспользоваться методом AddRange, например:
Код:
//создаём три колонки
DataGridViewTextBoxColumn dgvID = new DataGridViewTextBoxColumn();
dgvID.Name = "dgvID";
DataGridViewButtonColumn dgvBtn = new DataGridViewButtonColumn();
dgvBtn.Name = "dgvBtn";
DataGridViewComboBoxColumn dgvCBox = new DataGridViewComboBoxColumn();
dgvCBox.Name = "dgvCBox";
//добавляем колонки
dgv.Columns.AddRange(new DataGridViewColumn [] {dgvID, dgvBut, dgvCBox});
//либо
dgv.Columns.AddRange(new DataGridViewColumn[] { new DataGridViewTextBoxColumn(){Name = "dgvID"}, new DataGridViewButtonColumn() {Name = "dgvBtn"}, new DataGridViewComboBoxColumn() {Name = "dgvCBox"}});