Принудительное изменение размера столбцов DataGridView - PullRequest
6 голосов
/ 07 декабря 2010

У меня есть простая форма с элементом DataGridView.В конструкторе добавляются столбцы сетки и устанавливается DataTable.Когда я тогда вызываю AutoResizeColumns (), он не меняет размеры столбцов, как при вызове, например, события кнопки.Код выглядит следующим образом (упрощенно):

public MyDialog()
{
   InitializeComponent();
   dgv.Columns.AddRange(SomeClass.MyColumns);
   dgv.DataSource = SomeClass.Table;
   // This doesn't work:
   dgv.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
}

AutoResizeColumns () работает в целом, но не на этом этапе.Кстати, мне нужно это реализовать поведение, как это запрашивается / описано здесь .Есть идеи?

Ответы [ 3 ]

13 голосов
/ 03 сентября 2012

У меня была такая же проблема, пока я не установил режим автоматического изменения размера:

dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
8 голосов
/ 07 декабря 2010

Кроме того, я считаю, что объект должен быть ВИДИМ, прежде чем изменение размера будет выполнено ... по какой-то причине рисование выглядит не так, как можно было бы ожидать.

0 голосов
/ 07 декабря 2010

Вам нужно использовать AutoResizeColumns() после того, как в вашем DataGridView есть данные.Это причина.Убедитесь, что SomeClass.Table получили данные, прежде чем позвонить AutoResizeColumns()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...