EXTJS, проблема при применении макета - PullRequest
2 голосов
/ 11 августа 2010

Когда я работаю со столбцом Layout, я не вижу свои labelFields Мои поля в столбцах, но нет метки

var familyNameTextField = new Ext.form.TextField({
        fieldLabel : 'Ville',
        allowBlank:false,
        id : 'familyName'
    });
    var myData = [['EDF','EDF'],['GDF','GDF']];

    //The text field for the First Name
    var firstNameTextField = new Ext.form.ComboBox({
        fieldLabel: 'State',
        hiddenName:'state',
        store: new Ext.data.ArrayStore({
            fields: ['abbr', 'state'],
            data : myData // from states.js
        }),
        valueField:'abbr',
        displayField:'state',
        typeAhead: true,
        mode: 'local',
        triggerAction: 'all',
        emptyText:'Select a state...',
        selectOnFocus:true,
        width:190
    });
    //The text field for the First Name
    var demarcheField = new Ext.form.TextField({
        fieldLabel : 'Démarche',
        allowBlank:false,
        id : 'demarche'
    });
    //Button to show the MessageBox
    var showMessageBoxBouton = new Ext.Button({
        text:'Say Hello',
        handler:showMessageBox //The function that will be called when the button is clicked
    });
    //The form that will contain all our components
    var myForm = new Ext.FormPanel({
        labelWidth: 115,
        frame:true,
        title: 'Personal informations',
        bodyStyle:'padding:5px 5px 0',
        width: 900,
        autoScroll:true,
        layout:'column',
        items: [{
                items:[
                    familyNameTextField
                ]
            },
            {
                items:[firstNameTextField]
            },
            {
                items:[demarcheField]
            },
            {
                items:[showMessageBoxBouton]
            }           
        ]
    });

Ответы [ 2 ]

5 голосов
/ 12 августа 2010

Вы не видите метки, поскольку вы заменили макет FormPanel по умолчанию - FormLayout - на ColumnLayout.

Из документов FormPanel:

По умолчанию FormPanel настроен с макетом: «форма», чтобы использовать Менеджер макетов Ext.layout.FormLayout, какие стили и визуализирует поля и метки правильно. Когда вложение дополнительные контейнеры в пределах FormPanel, вы должны убедиться, что любой Потомки Контейнеры, на которых размещается ввод Поля используют Ext.layout.FormLayout менеджер по расположению.

Итак, вложите контейнеры с макетом: 'form' внутри макета столбца, и вы увидите ярлыки

4 голосов
/ 12 августа 2010

Они так, как я использовал для реализации полей в макете столбца, это что-то вроде этого ...

var form = new Ext.FormPanel({
  labelAlign: 'top',
  items: [{
      layout:'column',
      defaults: {
        columnWidth: 0.5
      },
      items:[{

          layout: 'form',
          items: [{
              xtype:'textfield',
              fieldLabel: 'Top Left',
              name: 'first',
              anchor:'95%'
          }, {
              xtype:'textfield',
              fieldLabel: 'Bottom Left',
              name: 'third',
              anchor:'95%'
          }]
      },{
          layout: 'form',
          items: [{
              xtype:'textfield',
              fieldLabel: 'Top Right',
              name: 'last',
              anchor:'95%'
          },{
              xtype:'textfield',
              fieldLabel: 'Bottom Right',
              name: 'email',
              anchor:'95%'
          }]
      }]
  }]
});

Попробуйте и скажите мне, работает ли он для вас ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...