У меня есть dgrid, работающий с плагином столбца дерева. Каждый раз, когда пользователь нажимает на дерево, я вызываю сервер, перехватываю подстроки (json) и связываю их. Но когда это происходит, эти подстроки отображаются в неправильном положении, как показано на изображении ниже. Самое странное, когда я меняю нумерацию страниц, после возврата на первую страницу подстроки остаются на правильном месте.
(пожалуйста, скажите, можно ли понять мой английский, тогда я могу попытаться улучшить текст)
Мой код dgrid:
var CustomGrid = declare([OnDemandGrid, Keyboard, Selection, Pagination]);
var grid = new CustomGrid({
columns: [
selector({label: "#", disabled: function(object){ return object.type == 'DOCx'; }}, "radio"),
{label:'Id', field:'id', sortable: false},
tree({label: "Title", field:"title", sortable: true, indentWidth:20, allowDuplicates:true}),
//{label:'Title', field:'title', sortable: false},
{label:'Count', field:'count', sortable: false}
],
store: this.memoryStore,
collapseOnRefresh:true,
pagingLinks: false,
pagingTextBox: true,
firstLastArrows: true,
pageSizeOptions: [10, 15, 25],
selectionMode: "single", // for Selection; only select a single row at a time
cellNavigation: false // for Keyboard; allow only row-level keyboard navigation
}, "grid");
Мой магазин памяти:
loadMemoryStore: function(items){
this.memoryStore = Observable(new Memory({
data: items,
getChildren: function(parent, options){
return this.query({parent: parent.id}, options);
},
mayHaveChildren: function(parent){
return (parent.count != 0) && (parent.type != 'DOC');
}
}));
},
В этот момент я связываю подстроки:
success: function(data){
for(var i=0; i<data.report.length; i++){
this.memoryStore.put({id:data.report[i].id, title:data.report[i].created, type:'DOC', parent:this.designId});
}
},
Я подумал, может быть, каждый раз, когда я привязываю подстроки, я мог бы сделать обновление сетки, может быть, это сработает. Я думаю, что пагинация делает то же самое.
Спасибо.
редактировать:
Я забыл вопрос. Ну как исправить этот баг? Если обновление в dgrid работает. Как мне это сделать? Другое дело, о чем я думал, может быть, мой getChildren неправильный, но я не мог его определить.
еще раз спасибо.