我需要帮助来绑定自定义webapi函数返回的数据。假设我的webapi函数调用语法如下所示:
var filter = {<some conditions here>};
Myapp.systemcontroller.Getdata(filter).then(function(result){
--- this result contain my data and total record
});
如何将此函数绑定到商店代理,然后将其绑定到网格?
非常感谢任何帮助。
答案 0 :(得分:0)
您可以使用不同的方式将数据添加到商店。它取决于您的数据结构(数组或对象)。
在您的情况下,您可以使用loadRecords()或add()
答案 1 :(得分:0)
问题已得到解决。我没有在我的商店中使用任何代理..我使用上面的api来检索数据并使用loadData方法将其绑定到存储。然后我将设置我的工具栏的totalProperty
- 正在加载
Myapp.systemcontroller.Getdata(f).then(function (data) {
gridstore.loadData(data.Items);
gridstore.totalCount = data.TotalNumber;
var pgTb = Ext.getCmp('DataListPgTb');
pgTb.onLoad();
me.getLogList().setLoading(false);
});
然后在toolbarchange事件中
toolBarChange: function (tbar, pageData, eOpts) {
var pageSize = PrIns.getApplication().Configuration.PageSize;
var me = this;
me.getLogList().setLoading(true);
var f = Ext.create(MyApp.webapi.filter.LogFilter', { pageIndex: pageData, pageSize: pageSize, orderBy: 'Ascending' });
var gridstore = this.getLogList().getStore();
Myapp.systemcontroller.Getdata(f).then(function (data) {
gridstore.loadData(data.Items);
gridstore.totalCount = data.TotalNumber;
gridstore.currentPage = pageData;
var pgTb = Ext.getCmp('DataListPgTb');
pgTb.onLoad();
me.getLogList().setLoading(false);
});
return false;
},
return false将阻止我们调用代理