Страница 24

Все о DataGridView. Учебник

Главная
Страница 1
Страница 2
Страница 3
Страница 4
Страница 5
Страница 6
Страница 7
Страница 8
Страница 9
Страница 10
Страница 11
Страница 12
Страница 13
Страница 14
Страница 15
Страница 16
Страница 17
Страница 18
Страница 19
Страница 20
Страница 21
Страница 22
Страница 23
Страница 24
Страница 25
Страница 26






Скачать учебник
Предыдущая страница
Следующая страница

Если нужно изменить список элементов выпадающего списка, есть два пути. Первый позволяет изменить список элементов всех ячеек некоторой колонки, а второй – настроить списки отдельных ячеек. В первом случае нужно получить колонку, требующую настройки, привести ее к DataGridViewComboBoxColumn и через свойство Items добавить элементы:

private void button3_Click(object sender, EventArgs e)
{
  ((DataGridViewComboBoxColumn)_grid.Columns[0]).Items.AddRange(
    new string[] { "One", "Two", "Three", "Four" });
}

Во втором случае нужно получить ячейку, подлежащую настройке, и привести ее к DataGridViewComboBoxCell, и точно так же настроить список.

private void button4_Click(object sender, EventArgs e)
{
  DataGridViewComboBoxCell cell =
    (DataGridViewComboBoxCell)_grid.Rows[2].Cells[0];
  cell.Items.Clear();
  cell.Items.AddRange(new string[] { "ABC", "KLM", "XYZ" });
}

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



Рисунок 18.

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

Управление размером колонок и строк

Новый grid имеет на удивление развитую систему контроля над размерами колонок и строк.

Управление шириной колонок

Режим управления шириной колонки можно узнать из значения свойства InheritedAutoSizeMode конкретной колонки. Узнать, но не установить, так как свойство доступно только для чтения. Значение этого свойства вычисляется следующим образом. Если свойство колонки AutoSizeMode установлено в NoSet, то значение InheritedAutoSizeMode определяется значением свойства DataGridView AutoSizeColumnsMode. Иначе значение свойства InheritedAutoSizeMode соответствует значению свойства колонки AutoSizeMode. Другими словами, если для колонки не задан конкретный автоматический режим управления размером, используется общая для всего grid-a настройка. Это позволяет задать общий режим выравнивания для всех колонок grid-a и, если это нужно, изменить режим для отдельных колонок.

AutoSizeColumnsMode и AutoSizeMode имеют тип enum (DataGridViewAutoSizeColumnsMode и DataGridViewAutoSizeColumnMode, соответственно), и их значения различаются всего на один элемент NoSet, который есть у последнего и отсутствует у первого. В таблице 3 приведены члены перечисления DataGridViewAutoSizeColumnMode.

Значение

Описание

AllCells

Ширина колонок подбирается автоматически так, чтобы содержимое любых ячеек (и обычных и заголовочных) было видно целиком.

AllCellsExceptHeader

То же, что и AllCells, но заголовочные ячейки в расчет не берутся.

ColumnHeader

То же, что и AllCells, но в расчет берутся только заголовочные ячейки.

DisplayedCells

То же, что и AllCells, но в расчет берутся только ячейки, реально отображаемые на экране.

DisplayedCellsExceptHeader

То же, что и DisplayedCells, но заголовочные ячейки в расчет не берутся.

Fill

Режим пропорционального масштабирования колонок при изменении размеров grid-a. Подробно рассматривается далее.

None (по умолчанию)

Ширина колонок автоматически не подбирается.

NoSet

Значение определяется настройками grid-a.

Предыдущая страница
Следующая страница
Хостинг от uCoz