Это определенно возможно. Вам просто нужно использовать немного CSS, чтобы заставить все работать. Я применил свой CSS непосредственно в моей конфигурации формы, но вы могли бы просто поместить его в свой собственный файл CSS.
Ext.create('Ext.form.Panel', {
renderTo: Ext.getBody(),
layout: 'auto',
defaults: {
xtype: 'textfield',
style: {
float: 'left',
width: 200
}
},
items: [
{ fieldLabel: 'Field 1' },
{ fieldLabel: 'Field 2' },
{ fieldLabel: 'Field 3' },
{ fieldLabel: 'Field 4' },
{ fieldLabel: 'Field 5' },
{ fieldLabel: 'Field 6' }
]
});
Как изменить размер браузере, где два столбца не будет соответствовать, вы должны увидеть две колонки автоматически завернуть в одну колонку.
Я сделал пример для вас, чтобы посмотреть здесь: http://jsfiddle.net/Asuza/n7Zsj/
Когда вы открываете его, вы должны увидеть две колонки полей. Измените ширину тела CSS на 300 пикселей и запустите скрипт, и теперь количество столбцов должно быть единым. Это должно быть эквивалентно изменению размера браузера вручную.
Я думаю, что это не возможно. После отображения формы будет отображаться таблица с полями, в то время вы не сможете изменить список столбцов. Сын только один способ, который я вижу - это регенерировать форму с правильным подсчетом столбцов на конкретном событии. – Andron