ExtJS 4.1 Как изменить высоту заголовка панели сетки
Вопрос
Я хочу изменить внешнюю сетку.Высота заголовка панели.
Высота заголовка панели сетки принудительно устанавливается равной 28 пикселям.
- Никаких настроек дерзости
- Конфигурация заголовка на панели у меня не сработала
- Изменение высоты столбцов сетки, по-видимому, работает при настройке < 28 пикселей.28 пикселей, по-видимому, являются минимальными.
Это то, что у меня есть до сих пор (и это работает), но мне не нравится решение.
Ext.define('Ext.grid.Panel', {
listeners: {
beforerender: function (cmp, eOpts) {
cmp.headerCt.setHeight(25);
}
}
});
Кроме того, заголовки столбцов, похоже, также зафиксированы на уровне 28 пикселей.Установка высоты заголовка на 25 не приведет к установке заголовка столбца на 25.Вам также нужно переопределить это в scss / css.В противном случае ваши меню заголовков столбцов будут отображаться с высотой 28 пикселей.
.x-column-header
{
height: 25px;
}
Это решение не работает:Если вы перетащите заголовки столбцов, изменив положение индекса столбца, это приведет к разрыву -.-
Рекомендации?
Решение
Чтобы установить высоту заголовков столбцов, вы должны установить высоту после их компиляции.Опять же, значение высоты для конфигурации столбца не работает для установки высоты <28, но работает> 28.
Я обнаружил, что модификацию высоты после компиляции правильно устанавливает высоту и позволяет столбцам быть перегруженным (все работает как оно должно).
Ext.define('Ext.grid.Panel', {
listeners: {
beforerender: function (cmp, eOpts) {
cmp.columns[0].setHeight(25);
}
}
});
.
Мое решение не может использовать это, потому что создаю динамическую сетку.В динамической части сетки я использую GRID.reconfigure ();- там, уничтожив все, что было создано в состоянии BeForerender.
Ext.define('Ext.grid.Panel', {
listeners: {
reconfigure: function (cmp, eOpts) {
cmp.columns[0].setHeight(25);
}
}
});
.
Реконфигурированная функция пожаров после реконфигурации, так что именно то, как я попал вокруг динамической реконфигурирования сетки.
Другие советы
Вы также можете использовать подстили sass для этой панели сетки и установить конфигурацию 'ui':
добавлять ui:'custom-height-item'
в вашу конфигурацию
@include extjs-panel-ui(
'custom-height-item',
$ui-header-line-height: 28px,
$ui-header-padding: 2px;
)