在ExtJS网格中的CRUD操作之后显示来自restful服务的响应

时间:2013-12-04 10:41:45

标签: extjs extjs4

我正在使用API​​在我的网格上执行CRUD操作。一切正常,但我的要求是显示从我的宁静WCF服务返回的响应。例如,如果我删除一条记录,我将返回“Record deleted”作为响应。我想向用户显示相同的响应。我店的代码如下:

Ext.define('DHT.store.Users', {
    extend: 'Ext.data.Store',
    autoLoad: true,
    autoSync: true,
    model: 'DHT.model.User',
    pageSize: 5,
    proxy: {
        type: 'ajax',
        timeout: 120000,
        noCache: false,
        api: {
            read: 'http://localhost:52984/ExtJsRestfulService.svc/GetAlbum',
            create: 'http://localhost:52984/ExtJsRestfulService.svc/AddAlbum',
            update: 'http://localhost:52984/ExtJsRestfulService.svc/UpdateAlbum',
            destroy: 'http://localhost:52984/ExtJsRestfulService.svc/DeleteRecord'
        },

        reader:
        {
            type: 'json',
            root: 'GetAlbumResult[0].AlbumList',
            totalProperty: 'GetAlbumResult[0].results',
            successProperty: 'success'
        },

        writer:
        {
            type: 'json',
            writeAllFields: true
        }
    }
});

有人可以指出我应该在哪里添加功能或提供任何样本吗?感谢。

2 个答案:

答案 0 :(得分:0)

每次操作后你都会重新装满你的商店吗?如果是这样,请在您的商店中添加一个监听器,并在操作完成后显示一个消息框:

Ext.define('DHT.store.Users', {
    extend: 'Ext.data.Store',
    [...]
    listeners:
    {
        load: function(store, records, success)
        {
            Ext.Msg.alert('title','message');
        }
    }
}

答案 1 :(得分:0)

您可以在商店datachanged或更新活动

中处理此问题
Ext.define('DHT.store.Users', {
    extend: 'Ext.data.Store',
    [...]
    listeners:
    {
        datachanged: function( cmp, eOpts )
        {
            //Do what you want here
        },
        update: function( cmp, record, operation, modifiedFieldNames, eOpts )
        {
            //Check what the operation is of type and display the message accordingly
            //Ext.data.Model.EDIT
            //Ext.data.Model.REJECT
            //Ext.data.Model.COMMIT
        }
    }
   }