这就是问题所在。
我有一个商店,我有一个名为al_key的没有典型的fiels al_key实际上是来自服务器的int
{ al_key: 5512, description: "test"}
我将这些数据加载到网格面板中,然后使用从该行获取记录的表单编辑记录。在表单中,我有一个名为“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
}
现在,问题是:当我加载Record(getForm()。loadRecord(rec))时,字段al_key是一个数字,当我提交表单时它会发送一个数字。 当我更改组合的值时,fiel al_key变为STRING并发送一个STRING!
如何强制使用整数?
谢谢Al。
答案 0 :(得分: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"
WHY ??!
答案 1 :(得分: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();
TNX !! 甲