Extjs Ext.JsonStore访问由服务器以json格式返回的自定义属性
我有一个EXtJS web应用程序,它以json格式返回数据。结果在ExtJS网格中分页显示,并由pagingToolbar处理。我正在使用slidingPager插件来选择页面。当用户使用滑块选择页面时,我需要在页码之外显示该页面第一个结果的标题 所以在jason数据中,服务器返回额外的数据来计数和记录数据等。我添加了一个名为headers的属性,它实际上是每个页面第一个结果的标题数组 我不知道如何访问和处理这个新属性,以便抓取json数据中标题属性的第10项,例如第10页 提前谢谢Extjs Ext.JsonStore访问由服务器以json格式返回的自定义属性,extjs,properties,jsonstore,Extjs,Properties,Jsonstore,我有一个EXtJS web应用程序,它以json格式返回数据。结果在ExtJS网格中分页显示,并由pagingToolbar处理。我正在使用slidingPager插件来选择页面。当用户使用滑块选择页面时,我需要在页码之外显示该页面第一个结果的标题 所以在jason数据中,服务器返回额外的数据来计数和记录数据等。我添加了一个名为headers的属性,它实际上是每个页面第一个结果的标题数组 我不知道如何访问和处理这个新属性,以便抓取json数据中标题属性的第10项,例如第10页 提前谢谢 Andr
AndreasJsonReader有一个名为jsonData的属性,它是响应中返回的原始JSON:
您可以像访问yourGridObject.getStore().reader.jsonData一样访问它,谢谢!成功了。我找到了Ext.ux.SlidingPager的来源,并改成了这个
Ext.ux.SlidingPagerWithHeaders = Ext.extend(Object, {
init : function(pbar){
var idx = pbar.items.indexOf(pbar.inputItem);
Ext.each(pbar.items.getRange(idx - 2, idx + 2), function(c){
c.hide();
});
var slider = new Ext.Slider({
width: 114,
minValue: 1,
maxValue: 1,
plugins: new Ext.slider.Tip({
getText : function(thumb) {
var header = pbar.store.reader.jsonData.headers[thumb.value-1];
return String.format('Page <b>{0}</b> of <b>{1}</b><br><br>', thumb.value, thumb.slider.maxValue)+header;
}
}),
listeners: {
changecomplete: function(s, v){
pbar.changePage(v);
}
}
});
pbar.insert(idx + 1, slider);
//pb.store.getHeaders = pb.store.createAccessor("headers");
pbar.on({
change: function(pb, data){
slider.setMaxValue(data.pages);
slider.setValue(data.activePage);
}
});
}
});
假设pagesize为50,因此我发送两个标题。忽略这一行//pb.store.getHeaders=pb.store.createAccessor(“标题”);
{ "count": 100,
"records" : [{record 1 ...},{ record 2 ...}, ...],
"headers" : ["Header1", "Header2"]
}