Настройка DataGridView Высота строки в коде и отключение ручного изменения размера - PullRequest
16 голосов
/ 03 января 2012

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

dgvTruckAvail.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

Теперь мне нужно было задать высоту столбца в коде, и она не работала (см. Строка настроек DataGridViewвысота не работает )

Я подумал, что именно эта строка кода вызвала проблему отсутствия размеров.Однако теперь мне нужно выяснить, как

  1. Размер строк в коде

и

Запретить пользователям самим определять размеры строк

Есть ли указатели?

Ответы [ 4 ]

30 голосов
/ 03 января 2012

Set:

dgvTruckAvail.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
dgvTruckAvail.AllowUserToResizeRows = false;

Это отключит автоматическое изменение размера строки и ручное изменение размера строки.Чтобы установить высоту строки, вы можете использовать Height и MinimumHeight свойства RowTemplate.

3 голосов
/ 06 января 2014

Установка размера строки является реальной проблемой. Проверьте, сколько жалоб и ответов есть в Интернете. Я обнаружил, что иногда один способ работает, а иногда не работает.

Сделайте это: Поместите DataGridView на вашу форму. Отредактируйте и добавьте несколько столбцов. Неважно, кто они, потому что вы немедленно откажетесь от этого DGV. Зайдите в свойства этого DataGridView и измените RowTemplate / Height на что-то маленькое или большое (только чтобы вы могли видеть, как оно работает). Добавьте строку кода в свой метод, чтобы задать для XXX.RowCount что-то вроде 12, просто чтобы заполнить этот тест DataGridView. Запустите ваш код, чтобы убедиться, что высота строки изменилась.

Откройте код XXX.Designer.cs. Разверните «Код, сгенерированный конструктором форм Windows» и найдите код, который относится к тому, что вы только что сделали с DataGridView. Скопируйте все это в метод, где вы пытаетесь настроить / установить высоту строки. Закомментируйте весь ваш код. Строка за строкой, измените самостоятельно сгенерированный код, чтобы использовать имя вашего объекта. Проверяйте повторно на наличие ошибок и изолируйте их в это время.

Теперь вернитесь и удалите этот тестовый объект DataGridView.

0 голосов
/ 14 июля 2019

Это работает для меня: 1. Откройте .Designer.cs (формы, содержащей вид сетки) 2. Вернуться к дизайну gridview и редактировать любое свойство, которое вы хотите 3. Обе вкладки покажут * как измененные 4. Готово

У меня в гостях измененный статус не касается файла .Designer.cs, поэтому наша модификация в конструкторе не применяется.

0 голосов
/ 28 октября 2013

В окне свойств установите:

AllowUserToResizeRows = False

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