0

这就是问题。

我有一个商店,其中我有一个名为 al_key 的没有类型化的字段 al_key 实际上是来自服务器的 int

{ al_key: 5512, description: "test"}

我将这些数据加载到网格面板中,然后使用从行中获取记录的表单编辑记录。在表单中,我使用 al_key 键预选了一个名为“AL VALUE”的组合框。

{
    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(rec)) 时,字段 al_key 是一个数字,当我提交表单时它发送一个数字。当我更改组合的值时,字段 al_key 变成一个字符串,它发送一个字符串!

如何强制使用整数?

谢谢你,阿尔。

4

2 回答 2

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();

天呐!!一个。

于 2013-05-06T16:06:53.277 回答
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"

为什么??!

于 2013-05-06T15:29:17.883 回答