我正在使用动态网格plugin。
我想在其中进行分页,
我试过了,
Ext.define('....', {
extend: 'Ext.data.Store',
pageSize: 10,
proxy: {
type: 'rest',
url: me.url,
reader: {
type: 'dynamicReader',
totalProperty: 'totalCount'
}
}
});
me.bbar = Ext.create('Ext.PagingToolbar', {
store: me.store,
displayInfo: true,
displayMsg: 'Displaying topics {0} - {1} of {2}',
emptyMsg: "No topics to display"
});
DynamicGrid.js
totalProperty
无效。我在那里正确设置了房产吗?
然后我也尝试在同一个插件中进行分组。
我有combobox
个字段,想要动态选择分组字段。当我在组合框中选择一个字段时,它会将该数据发送到网格的groupField属性。
我在控制器中选择了组合框值,例如
var groupData = Ext.ComponentQuery.query('#groupid')[0].getValue();
我将它发送到网格,
Ext.define('Group', {
singleton: true,
param: groupData
});
我得到的是网格属性(在DynamicGrid.js
中),比如,
groupField: [Group.param]
但是这会自动为groupField属性选择第一个字段,甚至在组合框中选择任何内容并进行分组,在组合框中选择其他字段也不起作用,它总是有第一个字段用于分组。
出了什么问题?请帮忙。
答案 0 :(得分:0)
我通过在侦听器中添加以下代码成功进行分组,
me.store.group(Group.param);
仍然存在totalProperty的问题,有人可以帮助我使其工作吗?
我认为我犯了一个错误,现在实际的JSON响应是,
[{
"userId": 123,
"name": "Ed Spencer",
"email": "ed@sencha.com"
}]
因此,获取数据和操作的代码工作得很好,
readRecords: function(data) {
if (data.length > 0) {
var item = data[0];
var fields = new Array();
var columns = new Array();
var p;
for (p in item) {
if (p && p != undefined) {
fields.push({name: p, type: 'floatOrString'});
columns.push({text: p, dataIndex: p});
}
}
data.metaData = { fields: fields, columns: columns };
}
return this.callParent([data]);
}
但是为了发送其他metaData属性,我应该从docs获得以下JSON
响应,
{
"count": 1,
"ok": true,
"msg": "Users found",
"users": [{
"userId": 123,
"name": "Ed Spencer",
"email": "ed@sencha.com"
}],
"metaData": {
"root": "users",
"idProperty": 'userId',
"totalProperty": 'count',
"successProperty": 'ok',
"messageProperty": 'msg'
}
}
那么我如何在readReords
函数中指向root,以便它知道数据是否在root中?
因此我还会传递其他元数据属性。
请帮忙!