Свойство ColumnCount элемента управления DataGridView
Свойство ColumnCount элемента управления DataGridView обычно используется для решения следующих задач:
1. Получение количества колонок в DataGridView.
По сути, является сокращенной записью вызова свойства Count.
2. Создание и добавление новых колонок в DataGridView.
Обратите внимание на то, что в данном примере указанное количество колонок создаётся и добавляется только при выполнении следующих условий:
Если хотя бы одно из этих условий не выполняется, то получаем неожиданный результат. Например, представим, что у нас в элементе управления DataGridView содержится четыре колонки.
Теперь посмотрим, как установленное значение влияет на результат работы свойства ColumnCount.
1). Если значение установленное свойству ColumnCount меньше текущего количества колонок в элементе управления DataGridView (value < dataGridView1.Columns.Count), то количество столбцов уменьшается до заданного свойству значения.
Например, добавим к четырём колонкам ещё одну.
В результате остается только одна колонка, а все остальные удаляются.
2). Если значение установленное свойству ColumnCount больше текущего количества колонок в DataGridView (value > dataGridView1.Columns.Count), то количество столбцов увеличивается на разницу между двумя этими значениями.
Например, к четырём колонкам добавим ещё пять колонок.
В результате добавляется только одна колонка.
3). Если установленное значение равно текущему количеству колонок в элементе DataGridView (value == dataGridView1.Columns.Count), то количество столбцов не изменяется.
Например, к текущим четырем колонкам добавим ещё четыре колонки.
В результате в DataGridView по-прежнему содержится четыре колонки.
4). Если присвоить свойству значение ноль, то вызывается метод Clear и коллекция Columns полностью очищается.
5). Отрицательное значение всегда приводит к выбросу исключения.
6). Если добавление колонок выполняется после выполнения привязки, то в результате возникает исключение с текстом: «ColumnCount property cannot be set on a data-bound DataGridView control».
Например, создадим таблицу типа DataTable и привяжем её к элементу управления DataGridView.
7). Если добавление колонок выполняется перед выполнением привязки, то ошибка не возникает:
В результате в элементе DataGridView содержится пять колонок.
Читайте также:
Свойство ColumnCount элемента управления DataGridView обычно используется для решения следующих задач:
1. Получение количества колонок в DataGridView.
C#:
int curColumnCount = dataGridView1.ColumnCount;
C#:
int curColumnCount = dataGridView1.Columns.Count;
C#:
//создаём и добавляем пять колонок
dataGridView1.ColumnCount = 5;
int dgvColsCount = dataGridView1.ColumnCount; //5
- коллекция Columns пустая (dataGridView1.Columns.Count == 0)
- DataGridView не привязан к источнику данных (dataGridView1.DataSet == null)
C#:
for (int i = 0; i 5; i++)
{
dataGridView1.Columns.Add("", "");
}
//текущее кол-во колонок в DataGridView
int dgvColsCount = dataGridView1.Columns.Count; //5
Теперь посмотрим, как установленное значение влияет на результат работы свойства ColumnCount.
1). Если значение установленное свойству ColumnCount меньше текущего количества колонок в элементе управления DataGridView (value < dataGridView1.Columns.Count), то количество столбцов уменьшается до заданного свойству значения.
Например, добавим к четырём колонкам ещё одну.
C#:
dataGridView1.ColumnCount = 1;
В результате остается только одна колонка, а все остальные удаляются.
2). Если значение установленное свойству ColumnCount больше текущего количества колонок в DataGridView (value > dataGridView1.Columns.Count), то количество столбцов увеличивается на разницу между двумя этими значениями.
Например, к четырём колонкам добавим ещё пять колонок.
C#:
dataGridView1.ColumnCount = 5;
3). Если установленное значение равно текущему количеству колонок в элементе DataGridView (value == dataGridView1.Columns.Count), то количество столбцов не изменяется.
Например, к текущим четырем колонкам добавим ещё четыре колонки.
C#:
dataGridView1.ColumnCount = 4;
4). Если присвоить свойству значение ноль, то вызывается метод Clear и коллекция Columns полностью очищается.
C#:
int curColCount = dataGridView1.ColumnCount //4
dataGridView1.ColumnCount = 0;
curColCount = dataGridView1.ColumnCount; //0
C#:
//исключение
dataGridView1.ColumnCount = -1;
Например, создадим таблицу типа DataTable и привяжем её к элементу управления DataGridView.
C#:
//создаёт таблицу
DataTable dt = new DataTable();
//создаёт 3 колонки
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("name", typeof(string));
dt.Columns.Add("age", typeof(int));
//привязка
dataGridView1.DataSource = dt;
//пытаемся добавить ещё 2 колонки, получаем исключение
dataGridView1.ColumnCount = 2;
C#:
//добавили 2 колонки
dataGridView1.ColumnCount = 2;
DataTable dt = new DataTable();
//...
dataGridView1.DataSource = dt;
В результате в элементе DataGridView содержится пять колонок.
Читайте также: