Изменяемые размеры столбцов DataGridView, но размер последнего столбца не может быть больше? - PullRequest
6 голосов
/ 10 мая 2011
For c = 0 To grd.Columns.Count - 1
    grd.Columns(c).Resizable = DataGridViewTriState.True
Next c

Это позволяет изменять размер всех столбцов в моем DataGridView, КРОМЕ последнего столбца.Зачем?Я DO получаю маленький указатель мыши с изменяемым размером ... но вы можете сделать только столбец МЕНЬШЕ , никогда ШИРОКИЙ .

(Та же проблема, если я пытаюсь установить все столбцы в Resizable, используя IDE VB.net)

Что я здесь не так делаю?Разве я не могу изменить размер столбца ЛЮБОЙ , который я хочу, больше или меньше?

Ответы [ 4 ]

0 голосов
/ 12 февраля 2019

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

Один из вариантов - установить для AutoSizeMode последнего столбца значение «Заполнить», а для других столбцов - другой режим, например «Не установлен».Делая это, вы сделаете так, чтобы при изменении размера правого края второго до последнего столбца левый край последнего столбца автоматически заполнял это пространство.

0 голосов
/ 26 января 2014

У меня была та же проблема - я не смог изменить размер последнего столбца в DataGridView (для свойства изменяемого размера было установлено значение «True»). Я установил «Режим заполнения» на «Отображаемые ячейки». Когда я изменил этот параметр на «Не установлено», я обычно могу изменить размер последнего столбца.

0 голосов
/ 27 ноября 2018

Почему бы не добавить дополнительный столбец с нулевой шириной, чтобы пользователь мог изменить размер последнего столбца, который вы действительно хотите отобразить? Я знаю, что это довольно глупо! Если вам не безразлично, вы можете, вероятно, изменить размер свойства = false для дополнительной ячейки нулевой длины, чтобы запретить изменение размера. Этот метод не работал для меня должным образом. Требуется привязка последнего поля к чему-либо, иначе поле перед ним (которое было моим последним столбцом перед добавлением поддельного) не позволяло изменять размер.

Для меня проблема была вызвана тем, что я изменил свойство AutoSizeMode моего последнего столбца на AllCells (который являлся DataGridViewTextBoxColumn) по предложению исправления для создания многоколоночного текстового поля. Но это не сработало так, как мне было нужно, поэтому я сделал это по-другому (создав динамическое текстовое поле и поместив его туда, где я хотел, , но оставив AutoSizeMode = AllCells.

Когда я устанавливаю AutroSizeMode = NotSet в моем последнем столбце, DataGridView позволяет пользователю изменить размер этого последнего столбца сейчас!

0 голосов
/ 10 мая 2011

Нельзя сделать столбец последний шире, поскольку он уже заполняет все доступное пространство в элементе управления!

В отличие от других столбцов в середине, которые просто крадут пространство от столбца справа, нет столбца справа от последнего столбца, из которого он мог бы украсть пространство. Поскольку ему некуда деваться, элемент управления просто не позволяет изменить размер последнего столбца.

...