Ответ 1
EDIT: Это сработало:
{
xtype: 'component',
fieldLabel: ' ',
labelSeparator: ' ',
}
У меня есть 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
Отобразилось следующее:
Единственная проблема - я хочу, чтобы поле/метка "Размер файла" выравнивалось в той же строке, что и поля "Рекламодатель" и "Тип искусства". Есть ли способ добавить "пустой" элемент, чтобы он запустил запись до правильной строки? Есть ли другой подход к этому, который мне не хватает?
Спасибо!
EDIT: Это сработало:
{
xtype: 'component',
fieldLabel: ' ',
labelSeparator: ' ',
}
EDIT: Это сработало:
{
xtype: 'component',
fieldLabel: ' ',
labelSeparator: ' ',
}
по умолчанию пустые метки скрыты (поле сдвигается влево). вместо того, чтобы ставить '& nbsp;' ярлык...
fieldLabel: ' ',
labelSeparator: ' ',
вы можете сделать это правильно:
hideEmptyLabel : false
witch выравнивает ваш зарегистрированный компонент, даже если метка не указана.
Ваше решение будет работать, но это не таблицы ExtJS (/HTML).
Вы используете макет column
, чтобы вы могли использовать colspan: 2
в поле имени баннера, что приводит к тому же самому результату.
Вы также можете использовать rowspan, чтобы ваше поле охватывало две строки:)
Ничего из вышеперечисленного, похоже, не работало для меня. Я должен был явно установить высоту ячейки empy.
xtype: 'label',
text: ' ',
flex:1,
height:22
Разочарование, по меньшей мере.
Однако это работает только с макетом vBox. Если я использую привязку, тогда ничего не работает: (