Невозможно программно изменить ширину столбца gridview - PullRequest
0 голосов
/ 01 июня 2009

В моей форме окна мне нужно программно установить ширину столбцов в виде сетки. Я использую следующий код:

this.dgridv.Columns[columnName].Width = columnWidth;

Указанный выше stmt работает без ошибок. Но ширина столбца остается неизменной. Если я вставлю точку останова и проверим значение ширины после выполнения команды stmt, оно все равно равно 100, что, я полагаю, является значением по умолчанию ширины столбца таблицы данных.

Есть ли что-то еще, что мне нужно сделать помимо этого? Есть ли какие-либо значения, которые мне нужно установить перед изменением ширины столбца?

Любая помощь или указатели по этому вопросу высоко ценятся.

Спасибо:)

Ответы [ 3 ]

2 голосов
/ 01 июня 2009

У вас есть AutoSizeColumnsMode установлен на Fill?

Если у вас есть, вам нужно установить свойство FillWeight. Это не простая ширина, а доля width / no. columns, которую занимает этот столбец.

Если вы не изменили размер столбцов, это будет 100.0.

Если столбец был расширен, он будет> 100,0.

Если столбец был сокращен, он будет <100,0. </p>

Расширение одного столбца по определению сокращает остальные.

0 голосов
/ 29 сентября 2015

dataGridView1.Columns[index].Width = 150;

Эта строка кода установит ширину столбца программно.

0 голосов
/ 01 июня 2009

Это сработало:

this.dgridv.Columns[columnName].AutoSizeMode= DataGridViewAutoSizeColumnMode.None;
this.dgridv.Columns[columnName].Width = columnWidth;

Чтобы восстановить его, я использую:

dgvCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
...