Я новичок в JavaScript, додзе dgrid, dstore и все еще борются, чтобы правильно переписать методы собственности магазина:Dgrid не делает структуру дерева правильно
Моя структура данных:
[{"id":"T1","name":"Test","desc":"Rectangular 1",qty":null,"parent":null},
{"id":"C1","name":"Test 2","qty":0.0,"parent":"T1"},
{"id":"S1","name":"Test 3","qty":6.0,"parent":"C1"},
{"id":"S2","name":"Test 4","qty":6.0,"parent":"C1"},
{"id":"S3","name":"Test 5","qty":6.0,"parent":"C1"}
]
var StandardGrid = declare([Grid, Keyboard, Selection, Selector, Editor, dgridTree]);
var CustomStore= declare([Rest, dstoreTree]);
var myStore = new CustomStore({
target: "./data.json",
idProperty: "id",
getRootCollection: function() {
return this.root.filter({ parent: null });
},
getChildren: function (object) {
return object.parent = object.id;
},
mayHaveChildren: function (object) {
return object.parent == null;
},
});
var treeGrid = window.treeGrid = new StandardGrid({
collection: myStore.getRootCollection(),
columns: [
{ renderExpando: true, label: "Name", field: "name", sortable: false },
{ label: "Quantity", field: "qty" },
]
}, "treeGrid");
treeGrid.startup();
Я также попытался обратиться к приведенной ниже ссылке, но до сих пор не могу понять: dgrid 0.4.0 tree looks flat before user interacts
Цените и благодарите заранее.
Ваши данные не действительны, отсутствует только один номер " –
Когда вы говорите, что это« неверный рендеринг », то как * это * его рендеринг против того, как * должен * быть рендерингом? Конечно, похоже, что ваша реализация' getChildren' неверно, и если ваши данные возвращаются со всеми пунктами одновременно, вы, вероятно, не хотите использовать 'Rest' ... –
Дерево должно иметь 3-слой, где root (id = T1) (id = C1) и, наконец, третий уровень (id = S1, S2, S3). В настоящее время он перечисляет все данные без дерева. Я попробую заменить Rest другим, как память. Не могли бы вы также рассказать мне, что случилось с моя реализация getChildren с моим текущим набором данных? – hamming122