Свойство ColumnCount элемента управления DataGridView

Свойство ColumnCount элемента управления DataGridView обычно используется для решения следующих задач:

1. Получение количества колонок в DataGridView.

По сути, является сокращенной записью вызова свойства Count.

2. Создание и добавление новых колонок в DataGridView.

Обратите внимание на то, что в данном примере указанное количество колонок создаётся и добавляется только при выполнении следующих условий:

  • коллекция Columns пустая (dataGridView1.Columns.Count == 0)
  • DataGridView не привязан к источнику данных (dataGridView1.DataSet == null)

Это значит, что выше приведенный код не равен следующему коду:

Если хотя бы одно из этих условий не выполняется, то получаем неожиданный результат. Например, представим, что у нас в элементе управления 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). Если добавление колонок выполняется после выполнения привязки, то в результате возникает исключение с текстом: &#171;ColumnCount property cannot be set on a data-bound DataGridView control&#187;.

Например, создадим таблицу типа DataTable и привяжем её к элементу управления DataGridView.

7). Если добавление колонок выполняется перед выполнением привязки, то ошибка не возникает:

две колонки

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

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

Похожие темы

c# Как удалить колонку в DataGridView?... Удаление колонки в DataGridView В этой статье мы рассмотрим, как удалить колонку в элементе DataGridView с помощью языка c# Создадим новый проект ...
c# Как программно добавить контрол на форму... c# Как программно добавить контрол на форму В этой статье рассмотрим процесс программного добавления визуального элемента управления (Control) на фор...
Пишем simple-кейлогер с передачей дампа по TCP на ... Всем доброго времени суток! В продолжение первой и второй частей сегодня допишем последнее - дешифратор той каши, что у нас получалась на первых ...
Протокол XML-RPC для вызова удаленных процедур Wor... Вызов удаленной процедуры WordPress с помощью протокола XML-RPC XML-RPC это протокол вызова удаленных процедур, который использует формат XML для код...
c# Шпаргалка для работы с папками и подпапками... c# Шпаргалка для работы с папками и подпапками Перед началом работы подключите пространство имён System.IO Это можно выполнить как вручную, добави...