在formPanel中更改按钮位置

时间:2014-12-18 12:47:04

标签: javascript extjs extjs5

我有一个带有3个按钮的formPanel(FiltrarLimpiarNuevo Borrador)。我试图在一行(FiltrarLimpiar)中显示两个按钮,并在此按钮下显示Nuevo Borrador按钮。

像这样:enter image description here

这是formPanel的代码。

    formPanel = new Ext.form.FormPanel({
        id:'formulario',
        title: '<bean:message key="label.gi.puestosTipo.criteriosBusqueda" />'
        ,region: 'west'
        ,width: 300
        ,height: 500
        ,collapsible : true
        ,labelWidth: 77
        ,bodyStyle:'padding:5px 0px 0px 3px;'
        ,autoHeight: true
        ,method: 'POST'
        ,params: {"method": "buscarInformes"} // Buscar informe. TODO
        ,frame:true
        ,style: 'text-align: left;'
        ,defaultType: 'textfield'
        ,buttonAlign: 'center'
        ,items: [{
            xtype: 'fieldset',
            title: '<b>Datos del documento</b>',
            columnWidth: 0.5,
            collapsible: false,
            defaultType: 'textfield',
            defaults: {
                anchor: '100%'
            },
            layout: 'anchor',
            items: [{
                xtype: 'combo',
                fieldLabel: 'Tipo documento ',
                emptyText: 'Tipo',
                hiddenName: 'tipo',
                    store: new Ext.data.SimpleStore({
                        data: [
                            [0, 'Borrador'],
                            [1, 'Final'],
                        ],
                        id: 0,
                        fields: ['value', 'text']
                    }),
                valueField: 'value',
                displayField: 'text',
                triggerAction: 'all',
                editable: false
            },{
                fieldLabel: '<bean:message key="label.analisisGestionRiesgo.salvaguardas.codigo" />',
                name: 'codigo',
            },{
                fieldLabel: '<bean:message key="label.agr.denominacion" />',
                name: 'denominacion',
            }       
            ]},{
            xtype: 'fieldset',
            title: '<b>Rango de fecha<b>',
            columnWidth: 0.5,
            collapsible: true,
            defaultType: 'textfield',
            defaults: {
                anchor: '100%'
            },
            layout: 'anchor',
            items: [
                {
                    xtype: 'datefield',
                    fieldLabel: 'Desde',
                    name: 'fechaDesde',
                },{
                    xtype: 'datefield',
                    fieldLabel: 'Hasta',
                    name: 'fechaHasta',
                }]
            },{
                xtype: 'button',
                text: '<b>Limpiar<b>',
                style: 'margin: 0 1 0 1 ;'
            },{
                xtype: 'button',
                text: '<b>Enviar<b>',
                style: 'margin: 0 1 0 1 ;'
            },{
                xtype: 'button',
                text: '<b>Nuevo borrador<b>',
                style: 'margin: 0 1 0 1 ;'
            }                   
        ]
     }

我尝试使用alignTarget: 'center'(在xtype: 'button'元素中)和buttonAlign: 'center'中心按钮,正如我在ext文档中看到的那样但不起作用。我需要用什么方法在中心显示我的按钮?提前谢谢。

1 个答案:

答案 0 :(得分:1)

将您的按钮放在单独的container中,然后您可以在其上设置所需的任何布局。例如:

Ext.create('Ext.form.FormPanel', {
    items: [
        { xtype: 'fieldset', title: 'Datos del documento', items: [] },
        { xtype: 'fieldset', title: 'Rango de fecha', items: [] },
        {
            xtype: 'container',
            defaultType: 'button',
            items: [
                { text: 'Limpiar' },
                { text: 'Enviar' },
                { text: 'Nuevo borrador' }
            ],
            // Use any layout here.
            layout: {
                type: 'vbox',
                pack: 'center'
            }
        }
    ] 
});

您甚至可以使用absolute布局来获得完美的定位。