FormPanel ExtJs 3.2中的多列

时间:2017-12-04 15:41:05

标签: javascript forms extjs multiple-columns

我正在尝试在ExtJs中创建一个包含两列和另外三列的表单,我有这个:

Click to see

但是我希望那些字段:“Fecha Escritura”,“Acción”和“Fecha Escritura”在同一行。

这是我的代码:

 formBuscador = new Ext.FormPanel({
    labelWidth : 120,
    frame : true,
    title : buscador,
    bodyStyle : 'padding:5px 5px 0',
    width : 1200,
    renderTo : 'gridFormularioBusqueda',
    items : [ {
        //xtype: 'form',
        layout : 'column',
        labelAlign: 'left',
        defaults: {
              xtype: 'container',
              layout: 'form',
              columnWidth: 0.5,
              labelWidth: 185
           },
           items: [   
                    {items: [{
                                xtype : 'textfield',
                                fieldLabel : idEmpleado,
                                allowBlank : true,
                                name : 'idEmpleadoP',
                                id : 'idEmpleadoPB',
                                autoCreate: {tag: 'input', type: 'text', autocomplete: 'off',maxlength: '9'}
                            }]
                    },{items: [{
                                xtype : 'textfield',
                                fieldLabel : nif,
                                allowBlank : true,
                                name : 'nifP',
                                id : 'nifPB',
                                autoCreate: {tag: 'input', type: 'text', autocomplete: 'off',maxlength: '9'}
                              }]
                    },{items: [{
                                xtype : 'textfield',
                                fieldLabel : nombre,
                                allowBlank : false,
                                blankText : campoNoVacioNombre,
                                name : 'nombreP',
                                id : 'nombrePB',
                                autoCreate: {tag: 'input', type: 'text', autocomplete: 'off',maxlength: '100'}
                              }]
                    },{items: [{
                                xtype : 'textfield',
                                fieldLabel : apellidos,
                                allowBlank : false,
                                blankText : campoNoVacioApellido,
                                name : 'apellidosP',
                                id : 'apellidosPB',
                                autoCreate: {tag: 'input', type: 'text', autocomplete: 'off',maxlength: '100'}
                              }]
                    },{items: [{
                                xtype : 'textfield',
                                fieldLabel : notario,
                                allowBlank : false,
                                blankText : campoNoVacioNotario,
                                name : 'notarioP',
                                id : 'notarioPB',
                                autoCreate: {tag: 'input', type: 'text', autocomplete: 'off',maxlength: '75'}
                              }]
                    },{items: [{
                                xtype : 'numberfield',
                                fieldLabel : numeroProtocolo,
                                allowBlank : false,
                                blankText : campoNoVacioNumeroProtocolo,
                                name : 'numeroProtocoloP',
                                id : 'numeroProtocoloPB',
                                autoCreate: {tag: 'input', type: 'text', autocomplete: 'off',maxlength: '5'}
                              }]
                    },{items: [{
                                fieldLabel : incluidaDelegacion,
                                html: "<select id='incluidaDelegacionPB' name='incluidaDelegacionP' style='border-color:#b5b8c8;background-color:white;width:20%;height:95%;margin-bottom:9px;margin-top: 1px;' >" +
                                        "<option id='incluidaDelegacionPBNo' value='false'>No</option>" +
                                        "<option id='incluidaDelegacionPBSi' value='true'>Si</option>" +
                                        "</select> "
                              }]
                    },{items: [{
                                fieldLabel : revocacionDelegacion,
                                html: "<select id='revocacionDelegacionBP' name='revocacionDelegacionB' style='border-color:#b5b8c8;background-color:white;width:20%;height:95%;margin-bottom:9px;margin-top: 6px;' >" +
                                        "<option id='revocacionDelegacionPBNo' value='false'>No</option>" +
                                        "<option id='revocacionDelegacionPBSi' value='true'>Si</option>" +
                                        "</select> "
                              }]
                    },{items: [{
                                fieldLabel : revocado,
                                html: "<select id='revocadoPB' name='revocadoP' style='border-color:#b5b8c8;background-color:white;width:20%;height:95%;margin-bottom:10px;margin-top: 1px;' >" +
                                        "<option id='revocadoPBNo' value='false'>No</option>" +
                                        "<option id='revocadoPBSi' value='true'>Si</option>" +
                                        "</select> "
                              }]
                    },{items: [{
                                fieldLabel : limiteCuantitativo,
                                html: "<select id='limiteCuantitativoBP' name='limiteCuantitativoP' style='border-color:#b5b8c8;background-color:white;width:20%;height:95%;margin-bottom:10px;margin-top: 1px;' >" +
                                        "<option id='limiteCuantitativoPBNo' value='false'>No</option>" +
                                        "<option id='limiteCuantitativoPBSi' value='true'>Si</option>" +
                                        "</select> "
                              }]
                    },{items: [{
                                xtype : 'datefield',
                                fieldLabel : fechaEscritura,
                                allowBlank : false,
                                blankText : campoNoVacioFechaEscritura,
                                labelWidth: 100,
                                name : 'fechaEscrituraP',
                                id : 'fechaEscrituraPB',
                                editable : false,
                                autoCreate: {tag: 'input', type: 'text', autocomplete: 'off',maxlength: '10'}
                              }]
                    },{items: [{
                                fieldLabel : 'Acción',
                                html: "<select id='accionFechaEscrituraBP' name='accionFechaEscrituraBP' style='border-color:#b5b8c8;background-color:white;width:20%;height:95%;margin-bottom:10px;margin-top: 1px;' >" +
                                        "<option id='accionFechaEscrituraBPAnterior' value='Anterior'>Anterior</option>" +
                                        "<option id='accionFechaEscrituraBPPosterior' value='Posterior'>Posterior</option>" +
                                        "<option id='accionFechaEscrituraBPEntre' value='Entre'>Entre</option>" +
                                        "<option id='accionFechaEscrituraBPIgualA' value='IgualA'>Igual A</option>" +
                                        "</select> "
                              }]
                    },{items: [{
                                xtype : 'datefield',
                                fieldLabel : fechaEscritura,
                                allowBlank : false,
                                blankText : campoNoVacioFechaEscritura,
                                name : 'fechaEscrituraPFin',
                                id : 'fechaEscrituraPBFin',
                                editable : false,
                                autoCreate: {tag: 'input', type: 'text', autocomplete: 'off',maxlength: '10'}
                              }]
                    }]
            }]

    });

最后三个是那些不起作用的,我一直在尝试使用一个新的列,但是,但是不起作用,任何想法?

1 个答案:

答案 0 :(得分:1)

根据您对column布局的要求。我一直在努力创建多个列形式。

在此 FIDDLE 中,您可以检查它是否正常工作。希望这将指导您或帮助您实现您的要求。

Ext.onReady(function() {
    var form = new Ext.FormPanel({
        renderTo: Ext.getBody(),
        frame: true,
        title: 'Multi Column, Nested Layouts and Anchoring',
        bodyStyle: 'padding:10px;',
        items: [{
            layout: 'column',
            defaults: {
                columnWidth: .5,
                layout: 'form'
            },
            items: [{
                defaults: {
                    xtype: 'textfield',
                    anchor: '95%',
                },
                items: [{
                    fieldLabel: 'A'
                }, {
                    fieldLabel: 'B'
                }, {
                    fieldLabel: 'C'
                }, {
                    xtype: 'combo',
                    fieldLabel: 'Combo 1',
                    store: new Ext.data.ArrayStore({
                        fields: ['text', 'value'],
                        data: [{
                            abbr: 'yes',
                            state: 'NO'
                        }]
                    }),
                    displayField: 'text',
                    valueField: 'text',
                    typeAhead: true,
                    queryMode: 'local'
                }, {
                    xtype: 'combo',
                    fieldLabel: 'Combo 2',
                    store: new Ext.data.ArrayStore({
                        fields: ['text', 'value'],
                        data: [{
                            abbr: 'yes',
                            state: 'NO'
                        }]
                    }),
                    displayField: 'text',
                    valueField: 'text',
                    typeAhead: true,
                    queryMode: 'local'
                }, {
                    xtype: 'datefield',
                    fieldLabel: 'date 1'
                }, {
                    xtype: 'datefield',
                    fieldLabel: 'date 2'
                }]
            }, {
                defaults: {
                    xtype: 'textfield',
                    anchor: '95%'
                },
                items: [{
                    fieldLabel: 'D'
                }, {
                    fieldLabel: 'E'
                }, {
                    fieldLabel: 'F'
                }, {
                    xtype: 'combo',
                    fieldLabel: 'Combo 3',
                    store: new Ext.data.ArrayStore({
                        fields: ['text', 'value'],
                        data: [{
                            abbr: 'yes',
                            state: 'NO'
                        }]
                    }),
                    displayField: 'text',
                    valueField: 'text',
                    typeAhead: true,
                    queryMode: 'local'
                }, {
                    xtype: 'combo',
                    fieldLabel: 'Combo 4',
                    store: new Ext.data.ArrayStore({
                        fields: ['text', 'value'],
                        data: [{
                            abbr: 'yes',
                            state: 'NO'
                        }]
                    }),
                    displayField: 'text',
                    valueField: 'text',
                    typeAhead: true,
                    queryMode: 'local'
                }, {
                    xtype: 'combo',
                    fieldLabel: 'Combo 5',
                    store: new Ext.data.ArrayStore({
                        fields: ['text', 'value'],
                        data: [{
                            abbr: 'yes',
                            state: 'NO'
                        }]
                    }),
                    displayField: 'text',
                    valueField: 'text',
                    typeAhead: true,
                    queryMode: 'local'
                }]
            }]
        }],

        buttons: [{
            text: 'Save'
        }, {
            text: 'Cancel'
        }]
    });
});