1

在这里,存储从数据库加载数据(萤火虫显示)但所有行都是空的......请帮助。我找不到背后的原因......

店铺

autoLoad: true,
model: 'CustomerService.model.OrderModel',
idProperty: 'id',
fields: [{
    name: 'id',
    type: 'int'
}, {
    name: 'name',
    type: 'string'
}, {
    name: 'quantity',
    type: 'int'
}, {
    name: 'receivedquantity',
    type: 'int'
}],
proxy: {
    type: 'ajax',
    url: 'data/Getall.php',
    reader: {
        type: 'json',
        root: 'data',
        successProperty: 'success'
    }
}
});

这是模型:

Ext.define('CustomerService.model.OrderModel', {
    extend: 'Ext.data.Model'
});

这是视图:

Ext.define('CustomerService.view.customer.List', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.mylist',
    selModel: Ext.create('Ext.selection.CheckboxModel', {
        checkOnly: false
    }),
    store: 'OrderStore',
    forceFit: true, //Fit to container:: columnLines:true, height:132, width:200, autoResizeColumns:true, initComponent:function(){

    this.columns = [{
        header: 'name',
        dataIndex: 'name'
    }, {
        header: 'Quantity',
        dataIndex: 'quantity',
    }, {
        header: 'Received Quantity',
        dataIndex: 'receivedquantity'
    }];
    this.callParent(arguments);
}
});
4

1 回答 1

1

如果您在您的中使用 amodelstore应该在您的中定义而不是fields在您model的中定义它们store

Ext.define('CustomerService.model.OrderModel', {
    extend: 'Ext.data.Model',
    fields: [{
        name: 'id',
        type: 'int'
    }, {
        name: 'name',
        type: 'string'
    }, {
        name: 'quantity',
        type: 'int'
    }, {
        name: 'receivedquantity',
        type: 'int'
    }],
});

Ext.data.Store 文件

这可以用来代替指定模型配置。这些字段应该是一组 Ext.data.Field 配置对象。商店会自动创建一个包含这些字段的 Ext.data.Model。通常,此配置选项应仅用于简单的存储,例如 ComboBox 的两字段存储。对于更复杂的事情,例如指定特定的 id 属性或关联,应为模型配置定义和指定 Ext.data.Model。

于 2013-06-06T07:59:39.303 回答