Codeby web-security - новый курс от Codeby Security School

Представляем вашему вниманию новый курс от команды The Codeby - "Тестирование Веб-Приложений на проникновение с нуля". Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...


Создание и добавление колонки в DataGridView

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

Создадим новое приложение типа Windows Forms Application на языке c#, после чего добавим на форму элемент управления DataGridView (dgv) и кнопку (Button).

windows form

Создание колонки в 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();
}

После того как объект создан, можно установить или изменить его свойства. Например, с помощью свойства Name укажем название колонки:

dgvAge.Name = "dgvAge";

С помощью свойства HeaderText установим заголовок колонки, который будет, отображаться в элементе DataGridView.

dgvAge.HeaderText = "Возраст";

Ну и, например, изменим ширину колонки с помощью свойства Width.

dgvAge.Width = 100;

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

Колонка создана, и теперь её нужно добавить в DataGridView. Для этого воспользуемся методом Add, с помощью которого мы поместим ранее созданный объект в коллекцию типа DataGridViewColumnCollection представленную свойством Columns.


Paranoid - курс от Codeby Security School

Представляем вашему вниманию курс от команды codeby - "Комплекс мер по защите персональных данных, анонимности в интернете и не только" Подробнее ...


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;

Обратиться к добавленной колонке можно либо по имени, которое задаётся с помощью свойства Name, как в выше приведенном примере, либо с помощью числового индекса, узнать или получить который можно с помощью свойства Index.

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"}});

три колонки

Читайте также:


Codeby Market от Сodeby

Мы запустили свой магазин CodebyMarket Equipment for InfoSec. Уже добавили RaspberryAlfa Long-RangeOrange PiArduino и многое другое. Купить Pentesting Devices