Настройка DataGridView Высота строки в коде и отключение ручного изменения размера
В моей сетке у меня была строка кода, которая отключила изменение размера ручного пользователя:
dgvTruckAvail.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
Теперь мне нужно было установить высоту столбца в коде, и это не сработало (см. Высота строки установки DataGridView не работает)
Я понял, что именно эта строка кода вызвала проблему без калибровки. Однако теперь мне нужно выяснить, как
и
- Запретить сами размеры пользовательских строк.
Любые указатели?
Ответы
Ответ 1
Set:
dgvTruckAvail.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
dgvTruckAvail.AllowUserToResizeRows = false;
Это отключит автоматическую сортировку строк и изменение размера строки вручную. Чтобы установить высоту строки, вы можете использовать свойства Height
и MinimumHeight
для RowTemplate
.
Ответ 2
Установка размера строки является реальной проблемой. Проверьте, сколько жалоб и ответов есть в Интернете. Я обнаружил, что иногда работает один способ, а в других случаях он больше не работает.
Сделайте это:
Поместите DataGridView в свою форму.
Отредактируйте и добавьте несколько столбцов. Неважно, что это такое, потому что вы выбросите этот DGV через мгновение.
Перейдите в эти свойства DataGridView и отредактируйте RowTemplate/Height на что-то маленькое или большое (только чтобы вы могли видеть его работу). Добавьте строку кода в свой метод, чтобы установить XXX.RowCount на что-то вроде 12, чтобы заполнить этот тест DataGridView. Запустите код, чтобы проверить высоту строки.
Откройте код XXX.Designer.cs. Разверните "созданный конструктор Windows Form Designer" и найдите код, который относится к тому, что вы только что сделали с DataGridView. Скопируйте все это в метод, в котором вы пытаетесь настроить/установить высоту строки. Прокомментируйте весь свой код. Строка за строкой, измените самогенерируемый код, чтобы использовать имя вашего объекта. Повторите тест для любого сбоя и изолируйте его в это время.
Теперь вернитесь назад и удалите этот объект DataGridView.
Ответ 3
В окне свойств:
AllowUserToResizeRows = False
Ответ 4
Это работает для меня: 1. Откройте .Designer.cs (формы, содержащей вид сетки) 2. Вернитесь к дизайну сетки и отредактируйте любое свойство, которое вы хотите 3. На обеих вкладках будет отображаться * после изменения 4. Готово
У меня в гостях измененный статус не касается файла .Designer.cs, поэтому наша модификация в конструкторе не применяется.