проблема с расположением полей extjs - PullRequest
5 голосов
/ 13 июля 2011

У меня проблема с отображением полей в форме

var test = Ext.create('Ext.form.Panel', {
        renderTo: 'test',
        title: '1. zzzz',
        width: 800,
        bodyPadding: 5,


        defaults: {
            anchor: '100%'
        },
        items: [
        {
            xtype: 'fieldset',
            defaults: {
                anchor: '100%'
            },
            layout: 'column',
            items: [
            {
                xtype: 'panel',
                fieldDefaults: {
                    msgTarget: 'side',
                    labelWidth: 75

                },
                columnWidth: .5,
                flex: 1,
                defaultType: 'textfield',
                defaults: {
                    anchor: '100%',
                    flex: 1
                },
                items: [
                {
                    xtype: 'numberfield',
                    hideTrigger: true,
                    fieldLabel: 'zzzz',
                    //anchor: '100%',
                    //anchor: '-5',
                    name: 'SRD_NUMBER'
                },
                {
                    fieldLabel: 'zzzz',
                    //anchor: '-5',
                    name: 'SRD_NAME_BR'
                },
                {
                    fieldLabel: 'zzzzz',
                    //anchor: '-5',
                    name: 'SRD_NAME_FL'
                },
                {
                    xtype: 'numberfield',
                    hideTrigger: true,
                    fieldLabel: 'zzzz',
                    disabled: true,
                    //anchor: '-5',
                    name: 'SRD_FOP'
                },
                {
                    fieldLabel: 'zzzz',
                    //anchor: '-5',
                    name: 'SRD_NAME_ORDER'
                },
                {
                    xtype: 'panel',
                    id: 'dep-img',
                    border: false,
                    height: 50,
                    width: 100,
                    cls: 'x-form-item',
                    html: '<img src="http://dep-image/id/10000001482" width="100" height="50" title="zzz">'
                },
                {
                    xtype: 'filefield',
                    name: 'file1',
                    msgTarget: 'side',
                    border: 3,
                    //anchor: '100%',
                    fieldLabel: 'zzzz',
                    buttonText: 'zzzzzz'
                },
                {
                    fieldLabel: 'zzz',
                    //anchor: '-5',
                    name: 'company'
                },
                {
                    fieldLabel: 'zzzz',
                    //anchor: '-5',
                    name: 'company'
                }]
            }
            ]
        } //fieldset
        ]//glob

    });

Мне нужно подогнать ширину поля к ширине столбца.

на этой странице http://docs.sencha.com/ext-js/4-0/#/api/Ext.form.FieldContainer 2 примера а во втором примере они устанавливают defaults {layout: '100%'}, и, похоже, это не работает.

нашел свое спасение : добавив компоновку: 'fit' или компоновку: 'anchor' к fieldset anchor значения по умолчанию: { макет: «подходит», flex: 1 },

спасибо всем

Ответы [ 4 ]

4 голосов
/ 18 июля 2011

Вы должны установить свойство height для вашей формы , и если оно все еще не отображается, присвойте также значение fieldset.

3 голосов
/ 14 июля 2011

нашел свое спасение: добавив компоновку: 'fit' или компоновку: 'anchor' к fieldset anchor

defaults: {
   layout: 'fit',
   flex: 1
},

благодаря всем

1 голос
/ 14 июля 2011

Я бы указал макет: 'fit' на панели формы, так как вы используете один набор полей.

Остальное я не понимаю.Похоже, вы указываете расположение столбцов, но используете только один столбец.

Не могли бы вы привести пример в порядок, и я был бы рад помочь.

0 голосов
/ 13 июля 2011

После быстрого просмотра ... Вы пытались поставить якорь: '0' как на поля, так и на контейнеры?

Кроме того, вы должны использовать fieldDefaults вместо

 defaults: {
                anchor: '100%',
                flex: 1
            },
...