Подтвердить что ты не робот

ExtJS - выравнивание элементов формы в компоновке столбцов FormPanel

У меня есть FormPanel с 3 столбцами. Каждый столбец составляет 33% от ширины FormPanel. Выглядит примерно так:

searchForm = new Ext.FormPanel({
    frame: true,
    title: 'Search Criteria',
    labelAlign: 'left',
    labelStyle: 'font-weight:bold;',
    labelWidth: 85,
    width: 900,
    items: [{
        layout: 'column',
        items: [{ // column #1
            columnWidth: .33,
            layout: 'form',
            items: [{
                xtype: 'textfield',
                fieldLabel: 'Banner ID',
                name: 'bannerID',
                anchor: '95%',
            },
            new Ext.form.ComboBox({
                fieldLabel: 'Advertiser',
                typeAhead: true,
                triggerAction: 'all',
                mode: 'local',
                emptyText: 'Advertiser',
                store: advertiserList,
                valueField: 'id',
                displayField: 'name'
            })] // close items for first column
        }, {
            columnWidth: .33,
            layout: 'form',
            items: [{
                xtype: 'textfield',
                fieldLabel: 'Banner Name',
                name: 'bannerName',
                anchor: '95%',
            },
            new Ext.form.ComboBox({
                fieldLabel: 'Art Type',
                typeAhead: true,
                triggerAction: 'all',
                mode: 'local',
                emptyText: 'Art Type',
                store: artTypesList,
                valueField: 'id',
                displayField: 'name'
            })] // close items for second column
        }, {
            columnWidth: .33,
            layout: 'form',
            items: [{
                xtype: 'hidden'
            },
            new Ext.form.ComboBox({
                fieldLabel: 'Art Size',
                typeAhead: true,
                triggerAction: 'all',
                mode: 'local',
                emptyText: 'Art Size',
                store: artSizeList,
                valueField: 'id',
                displayField: 'name'
            })] // close items for third column
        }]
    }]
}); // close searchForm FormPanel

Отобразилось следующее: Screenshot

Единственная проблема - я хочу, чтобы поле/метка "Размер файла" выравнивалось в той же строке, что и поля "Рекламодатель" и "Тип искусства". Есть ли способ добавить "пустой" элемент, чтобы он запустил запись до правильной строки? Есть ли другой подход к этому, который мне не хватает?

Спасибо!

EDIT: Это сработало:

{
    xtype: 'component',
    fieldLabel: ' ',
    labelSeparator: ' ',  
}
4b9b3361

Ответ 1

EDIT: Это сработало:

           {
                xtype: 'component',
                fieldLabel: ' ',
                labelSeparator: ' ',  
            }

Ответ 2

по умолчанию пустые метки скрыты (поле сдвигается влево). вместо того, чтобы ставить '& nbsp;' ярлык...

fieldLabel: ' ',
labelSeparator: ' ', 

вы можете сделать это правильно:

hideEmptyLabel : false

witch выравнивает ваш зарегистрированный компонент, даже если метка не указана.

Ответ 3

Ваше решение будет работать, но это не таблицы ExtJS (/HTML).

Вы используете макет column, чтобы вы могли использовать colspan: 2 в поле имени баннера, что приводит к тому же самому результату.
Вы также можете использовать rowspan, чтобы ваше поле охватывало две строки:)

Ответ 4

Ничего из вышеперечисленного, похоже, не работало для меня. Я должен был явно установить высоту ячейки empy.

xtype: 'label',
text: ' ',
flex:1,
height:22

Разочарование, по меньшей мере.

Однако это работает только с макетом vBox. Если я использую привязку, тогда ничего не работает: (