Extjs Sencha脱机代理
当json收到100条记录时,Sencha离线代理面临问题 离线代理只添加50条记录加载项存储这里是我的简单代码 response.responseText[my ajax response],它返回设置Extjs Sencha脱机代理,extjs,proxy,offline,Extjs,Proxy,Offline,当json收到100条记录时,Sencha离线代理面临问题 离线代理只添加50条记录加载项存储这里是我的简单代码 response.responseText[my ajax response],它返回设置 var data = Ext.decode(response.responseText); for (var c=0; c < data.length; c++){ console.log(c);
var data = Ext.decode(response.responseText);
for (var c=0; c < data.length; c++){
console.log(c);
var itemrecord = Ext.create('Inertia.model.InstallingCompany');
itemrecord.set(data[c]);
Ext.getStore('InstallingCompanies-offline').add(itemrecord);
}
console.log(c);
console.log(Ext.getStore('InstallingCompanies-offline').data.length);
var data=Ext.decode(response.responseText);
对于(var c=0;c
为此,您可以使用存储的直接方法
在此中,我使用和创建了一个演示。我希望这将帮助您或指导您实现您的要求
代码片段
Ext.define('ForumThread', {
extend: 'Ext.data.Model',
fields: [
'title', 'forumtitle', 'forumid', 'username', {
name: 'replycount',
type: 'int'
}, {
name: 'lastpost',
mapping: 'lastpost',
type: 'date',
dateFormat: 'timestamp'
},
'lastposter', 'excerpt', 'threadid'
],
idProperty: 'threadid'
});
Ext.create('Ext.data.Store', {
storeId: 'topicsStore',
model: 'ForumThread'
});
function renderTopic(value, p, record) {
return Ext.String.format(
'<a href="http://sencha.com/forum/showthread.php?t={2}" target="_blank">{0}</a>',
value,
record.data.forumtitle,
record.getId(),
record.data.forumid
);
}
Ext.create('Ext.grid.Panel', {
height: window.innerHeight,
title: 'Example of Store loadData() with GRID and Ajax Request',
renderTo: Ext.getBody(),
store: Ext.data.StoreManager.lookup('topicsStore'),
loadMask: true,
columns: [{
xtype: 'rownumberer',
width: 35,
sortable: false
}, {
tdCls: 'x-grid-cell-topic',
text: "Topic",
dataIndex: 'title',
flex: 1,
renderer: renderTopic,
sortable: true,
groupable: false,
cellWrap: true
}, {
text: "Author",
dataIndex: 'username',
flex: 0.5,
sortable: true,
groupable: false
}, {
text: "Replies",
dataIndex: 'replycount',
align: 'center',
width: 90,
sortable: false
}, {
id: 'last',
text: "Last Post",
dataIndex: 'lastpost',
flex: 0.5,
renderer: Ext.util.Format.dateRenderer('n/j/Y g:i A'),
sortable: true,
groupable: false
}],
listeners: {
afterrender: function (cmp) {
var store = Ext.data.StoreManager.lookup('topicsStore'),
store1;
cmp.getEl().mask('Please wait..!');
Ext.Ajax.request({
url: 'topics.json',
success: function (data) {
var response = Ext.decode(data.responseText);
store.loadData(response.topics);
cmp.getEl().unmask();
//Add data using store.add() method in Store
store1 = Ext.create('Ext.data.Store', {
model: 'ForumThread'
});
response.topics.forEach(function (item) {
store1.add(item);
})
console.log(`total count of store1 data is ${store1.getCount()}`);
}
});
}
}
});
Ext.define('ForumThread'{
扩展:“Ext.data.Model”,
字段:[
“title”、“forumtitle”、“forumid”、“username”{
名称:“replycount”,
键入:“int”
}, {
名称:'lastpost',
映射:“lastpost”,
键入:“日期”,
dateFormat:'时间戳'
},
“lastposter”、“摘录”、“threadid”
],
idProperty:“线程ID”
});
Ext.create('Ext.data.Store'{
storeId:“topicsStore”,
型号:“ForumThread”
});
函数renderTopic(值、p、记录){
返回Ext.String.format(
'',
价值
record.data.forumtitle,
record.getId(),
record.data.forumid
);
}
Ext.create('Ext.grid.Panel'{
高度:window.innerHeight,
标题:“带有网格和Ajax请求的Store loadData()示例”,
renderTo:Ext.getBody(),
存储:Ext.data.StoreManager.lookup('topicsStore'),
loadMask:是的,
栏目:[{
xtype:'行编号者',
宽度:35,
可排序:false
}, {
tdCls:'x-grid-cell-topic',
正文:“主题”,
数据索引:“标题”,
弹性:1,
渲染器:renderTopic,
可排序:是的,
分组:false,
cellWrap:没错
}, {
正文:“作者”,
数据索引:“用户名”,
弹性系数:0.5,
可排序:是的,
分组:false
}, {
正文:“答复”,
数据索引:“replycount”,
对齐:'居中',
宽度:90,
可排序:false
}, {
id:'最后',
文字:“最后一篇文章”,
数据索引:“lastpost”,
弹性系数:0.5,
renderer:Ext.util.Format.dateRenderer('n/j/Y g:ia'),
可排序:是的,
分组:false
}],
听众:{
后渲染:函数(cmp){
var store=Ext.data.StoreManager.lookup('topicsStore'),
仓库1;
cmp.getEl().mask('请稍候..!');
Ext.Ajax.request({
url:'topics.json',
成功:功能(数据){
var response=Ext.decode(data.responseText);
store.loadData(response.topics);
cmp.getEl().unmask();
//在存储区中使用store.Add()方法添加数据
store1=Ext.create('Ext.data.Store'{
型号:“ForumThread”
});
response.topics.forEach(函数(项){
1.添加(项目);
})
log(`store1数据的总计数为${store1.getCount()}`);
}
});
}
}
});