ExtJS 4.1 Como alterar a grade do painel de cabeçalho de altura
Pergunta
Eu quero mudar o Ext.grelha.Painel de cabeçalho de altura.
A altura de uma grade painel de cabeçalho é definido forçosamente em 28px.
- Não sass definições
- Configuração do cabeçalho do painel não funciona para mim
- Modificar as colunas de grade altura parece funcionar quando a configuração de < 28px.28px parece ser o mínimo.
Isso é o que eu tenho até agora (e funciona), mas eu não gosto da solução.
Ext.define('Ext.grid.Panel', {
listeners: {
beforerender: function (cmp, eOpts) {
cmp.headerCt.setHeight(25);
}
}
});
Além disso, os cabeçalhos de coluna parecem ser fixado em 28px bem.Definindo a altura do cabeçalho 25 não defina o cabeçalho da coluna para 25.Você precisa substituir o que tão bem na escs / css.Caso contrário, a sua coluna de menus de cabeçalho irá apresentar fora do 28px altura.
.x-column-header
{
height: 25px;
}
Esta solução não funciona:Se você arrastar cabeçalhos de coluna, alterar a coluna do índice de posição, ele vai quebrar -.-
Recommedations?
Solução
Para definir a altura dos cabeçalhos de coluna, você deve definir a altura após a sua compilação.Novamente, o valor da altura da coluna de configuração não funciona para definir a altura < 28, mas funciona > 28.
Eu descobri que modificar a altura após a compilação corretamente define a altura e permite colunas para ser direto (tudo funciona como deveria).
Ext.define('Ext.grid.Panel', {
listeners: {
beforerender: function (cmp, eOpts) {
cmp.columns[0].setHeight(25);
}
}
});
A minha solução não poderia usar isso porque eu criar uma grade dinâmica.Na parte dinâmica da grade eu uso de GRADE.reconfigure();- não, destruindo tudo o que foi criado em um beforerender estado.
Ext.define('Ext.grid.Panel', {
listeners: {
reconfigure: function (cmp, eOpts) {
cmp.columns[0].setHeight(25);
}
}
});
A reconfigurar função é acionado após a reconfiguração então, isso é como me torno a grade dinâmica de reconfiguração.
Outras dicas
Você também pode usar sass sub-estilos para que gridpanel e definir o 'ui' config:
adicionar ui:'custom-height-item'
para sua config
@include extjs-panel-ui(
'custom-height-item',
$ui-header-line-height: 28px,
$ui-header-padding: 2px;
)