2013-05-03 4 views
0

это проблема.extjs 3.4 ComboBox отправить неверный тип данных

У меня есть магазин, в котором у меня есть fiels без типизации имени al_key al_key фактически приходит как межд от сервера

{ al_key: 5512, description: "test"} 

я загрузить эти данные в GridPanel, то я редактирую запись с Форма, которая берет запись из строки. В форме у меня есть поле со списком «AL VALUE», предварительно выбранное с помощью ключа al_key.

{ 
    xtype: 'combo', 
    triggerAction: 'all', 
    store: 'AlStore', 
    forceSelection: true, 
    allowBlank: true, 
    editable: false, 
    fieldLabel: 'AL VALUE', 
    name: 'al_key', 
    hiddenName: 'al_key', 
    displayField: 'text', 
    valueField: 'id', 
    disabled: true 
} 

Теперь проблема: когда я загрузить запись (getForm() loadRecord (ЗАП).) Поле al_key это число, и когда я отправить форму он отправляет номер. Когда я изменяю значение комбо, fiel al_key становится STRING, и он отправляет STRING!

Как заставить целое использовать?

Спасибо Al.

+0

Можем ли мы увидеть определение полного магазина (AlStore)? –

ответ

0

РЕШЕННЫЙ! Проблема заключается в том, что FORM не знает о конфигурации магазина и передает все данные в виде обычной формы. Итак, если я заполню магазин таким образом: this.page.dataGrid.store.recordType(this.getForm().getValues())); он вставляет все строки. Вот мой обходной путь ..

MyRecordType = Ext.data.Record.create(this.page.dataGrid.store.fields.keys); 
var myRec = new MyRecordType(); 
this.getForm().updateRecord(myRec); 
this.page.dataGrid.store.add(myRec); 
this.page.dataGrid.store.save(); 

Тпх !! A.

0

Извините ... Похоже, проблема в FormPanel. Когда я зову: this.page.dataGrid.store.insert(0, new this.page.dataGrid.store.recordType(this.getForm().getValues())); в this.getForm().getValues() возвращает этот объект: al_key: "4088" cod_aerom: "1458"

ПОЧЕМУ ??!

Смежные вопросы