помогите создать View
Вложений: 1
делаю шаг-за-шагом как в документации. Вроде работает.
Теперь хочу сделать свой View на основе Panel-и, куда я вставил "Menu" (работает) и хотелось бы вот такое "Вью" (на картинке ) . Что мне надо добавит в код что бы было приблизительно как на картинке? Какои "layout" надо? Т.е. слева "FieldSet" куда я буду добавлять кнопки и проч , а справа Grid . Я понимаю, что для "paging"-a мне надо вниз ещё "тулбар" добавить
Ext.define('MyApp.view.ui.mainWindow', {
extend: 'Ext.form.Panel',
height: 773,
width: 727,
layout: {
type: 'absolute'
},
bodyPadding: 10,
preventHeader: true,
initComponent: function() {
var me = this;
Ext.applyIf(me, {
dockedItems: [
{
xtype: 'toolbar',
dock: 'top',
items: [
{
xtype: 'button',
id: 'top_menu_New_Quote',
text: 'New Quote',
menu: {
xtype: 'menu',
items: [
{
xtype: 'menuitem',
id: 'add_prospect_menu',
text: 'Add PR'
},
{
xtype: 'menuitem',
id: 'add_defend_menu',
text: 'Add DE'
},
{
xtype: 'menuitem',
text: 'Add GR'
}
]
}
},
{
xtype: 'button',
id: 'top_menu_Quote_List',
text: 'Quote List',
menu: {
xtype: 'menu',
width: 120,
items: [
{
xtype: 'menuitem',
id: 'print_menu',
text: 'Print'
},
{
xtype: 'menuitem',
id: 'export_to_excel_menu',
text: 'Export to Excel'
}
]
}
}
]
}
],
items: [
{
xtype: 'fieldset',
height: 670,
width: 253,
title: 'My Fields',
items: [
{
xtype: 'textfield',
fieldLabel: 'Label',
anchor: '100%'
}
]
},
{
xtype: 'gridpanel',
height: 650,
width: 410,
title: 'My Grid Panel',
x: 290,
y: 20,
columns: [
{
xtype: 'gridcolumn',
dataIndex: 'string',
text: 'String'
},
{
xtype: 'numbercolumn',
dataIndex: 'number',
text: 'Number'
},
{
xtype: 'datecolumn',
dataIndex: 'date',
text: 'Date'
},
{
xtype: 'booleancolumn',
dataIndex: 'bool',
text: 'Boolean'
}
],
viewConfig: {
}
}
]
});
me.callParent(arguments);
}
});
|
Тебе надо view который будет содержать контейнер с двумя элементами? В левом поле ввода, а в правом таблица? И ты не знаешь какой layuot использовать?
Ext.define('MyApp.view.Groups', {
extend: 'Ext.panel.Panel',
alias : 'widget.groups',
layout: 'column',
border: 0,
initComponent: function() {
this.items = [
{
xtype: 'gridpanel',
itemId: 'grid-goods',
padding: '10px 5px 10px 10px',
title: 'Товары',
store: 'Good',
columnWidth: 0.5,
columns: [
{
dataIndex: 'name',
flex: 1,
text: 'Товары'
},
{
width: 50,
dataIndex: 'count',
text: '№'
}
]
},
{
xtype: 'gridpanel',
itemId: 'grid-services',
padding: '10px 10px 10px 5px',
title: 'Услуги',
store: 'Service',
columnWidth: 0.5,
height: 585,
columns: [
{
dataIndex: 'name',
flex: 1,
text: 'Услуги'
},
{
width: 50,
dataIndex: 'count',
text: '№'
}
]
}
];
this.callParent(arguments);
}
});
view-шка имеет layout: 'column', а внутренним элементам (у меня 2-м) задается columnWidth (у меня columnWidth: 0.5). Надеюсь я помог |
layout: {
type: 'absolute'
},
Не очень удачное решение. |
Спасибо. Забыл заметить, что докуменитация на Sencha по MVC !!!.
Я так понимаю, что скажем браузер отобразил мой VIEW. Пользователь дергает за рамку (resizing) (меняет размер окна всяко разно) . И вот тут-то (как я понимаю) "layout должен работать" !! Если слева у меня fieldset ( а в нем textfield-ы, button-ы, dropdown-ы и пр.) а справа grid , то я как-то (с помощъю layout-а_ должен запрограммировать "масштабирование" этих "textfield-ов, button-от, dropdown-ов и проч ? Правильно ? Если да, то дайте пож-та пример. PS: Absolut layout - не очень удачное решение - согласен |
Цитата:
|
Спасибо ! "въющку" сделал! Работает !
правда в IE медленнее чем в Chrome. Теперь надо dropdown "заполнять". Локально (store) -работает. Хочется что-бы из Sevleta. Будем читать и вас спрашивать. Еще раз Спасибо ! |
| Часовой пояс GMT +3, время: 05:33. |