загрузка данных в форму
Здравствуйте.
Подскажите, пожалуйста, кто сможет. Есть форма, в которой должны отобразиться данные полученные из БД. Данные приходят в JSON-формате, но не отображаются.
var form = new Ext.FormPanel({
frame:true,
labelWidth: 120,
title: '',
bodyStyle:'',
width: 300,
height: 290,
defaults: {width: 250},
defaultType: 'textfield',
layout:'form',
items: [
{
fieldLabel: 'Один',
name: 'order_id',
id: 'order_id',
width:150,
allowBlank:false
},
{
fieldLabel: 'Два',
name: 'partners_id',
id: 'partners_id',
width:150,
allowBlank: false
},
{
fieldLabel: 'Три',
name: 'partner_name',
id: 'partner_name',
width:150,
allowBlank:false
}
]
});
Попытка загрузки:
form.getForm().load({url:'/sales/index/getorder/format/json',params:{order_id: id}, waitMsg:'Загрузка...'});
Данные в ответ от сервера:
{"success":true,"rows":[{"order_id":50,"partner_name":"eee","partners_id":2}]}
Путем выполнения не сложных операций изменял возвращаемый результат на
{"success":true,"rows":{"order_id":50,"partner_name":"eee","partners_id":2}}
,на
{"rows": [{"order_id":50,"partner_name":"eee","partners_id":2}]}
и на
{"rows": {"order_id":50,"partner_name":"eee","partners_id":2}}
Но это ничего не изменило. Буду очень благодарен. |
КАК тАК!!!
НАдо жЕ! Везде написано, что форму можно заполнить данными именно таким образом, нигде не сказано. что root-узел в JSON должен называться data!!! Т.е. если ответ выглядит так:
{"success":true,"data":{"order_id":50,"partner_name":"eee","partners_id":2}}
то все работает!!! |
Also, the values for the form need to be in an object, whose reference property is data.
А вот в книге написано. |
http://dev.sencha.com/deploy/dev/doc...tion.Load.html
Response Packet Criteria A response packet must contain: * success property : Boolean * data property : Object The data property contains the values of Fields to load. The individual value object for each Field is passed to the Field's setValue method. |
когда я первый раз занимался ExtJS ом 2007 искал недели :) этого ответа нигде не было.
|
Не знаю у меня вроде все работает.
Правда и форма другая, нужна подгрузка в несколько combobox-ов и все. И загрузку в store я делаю до объявления вызова формы. Но наверное я не совсем Вас правильно понял. |
| Часовой пояс GMT +3, время: 13:35. |