dojoツールキットとdjit.tree
ウィジェットを操作しているときに、次のエラーが発生しました。
dojo.data.ItemFileWriteStore: Invalid item argument
phpサーバーからjson形式のデータをロードし、 a とadijit.tree
を使用して表示するjavascript関数で。私のjsonデータは次のとおりです。ItemFileWriteStore
ForestStoreModel
{
"identifier": "id",
"label": "name",
"items": [{
"type": "parent",
"name": "Adresse des Finanzamts",
"id": "1020right00",
"children": [{
"type": "Leaf",
"name": "Relationship type: 1:1",
"id": "Adresse des Finanzamts1:1"
}, {
"type": "parent",
"name": "Left",
"id": "Adresse des Finanzamts010",
"children": [{
"type": "Leaf",
"name": "Table name: Finanzamtdaten",
"id": "1014left23432"
}, {
"type": "Leaf",
"name": "Field name: fkFinanzamtAdresse:INTEGER",
"id": "1018lef423t"
}]
}, {
"type": "parent",
"name": "Right",
"id": "Adresse des Finanzamts111",
"children": [{
"type": "Leaf",
"name": "Table name: Adresse",
"id": "105right234"
}, {
"type": "Leaf",
"name": "Field name: adresseId:INTEGER",
"id": "106right2223"
}]
}]
}, {
"type": "parent",
"name": "Adresse des Mitarbeiters",
"id": "1013right00",
"children": [{
"type": "Leaf",
"name": "Relationship type: 1:1",
"id": "Adresse des Mitarbeiters1:1"
}, {
"type": "parent",
"name": "Left",
"id": "Adresse des Mitarbeiters010",
"children": [{
"type": "Leaf",
"name": "Table name: Mitarbeiter",
"id": "100left23432"
}, {
"type": "Leaf",
"name": "Field name: fkAdresse:INTEGER",
"id": "1012lef423t"
}]
}, {
"type": "parent",
"name": "Right",
"id": "Adresse des Mitarbeiters111",
"children": [{
"type": "Leaf",
"name": "Table name: Adresse",
"id": "105right234"
}, {
"type": "Leaf",
"name": "Field name: adresseId:INTEGER",
"id": "106right2223"
}]
}]
}]
}
コードは、を使用してサーバー側でフォーマットされますjson_encode()
。
var treeObject = dijit.byId("relationStructure");
treeObject.model.store.clearOnClose = true;
treeObject.model.store.close();
var newStore = new dojo.data.ItemFileWriteStore({
data: data
});
treeObject.model.store = newStore;
treeObject.model.query = {"type": "parent"};
treeObject.rootId = "root";
treeObject.rootLabel = "Table content";
treeObject.childrenAttrs = ["children"];
treeObject.showRoot = false;
treeObject.refreshModel();
今jsonデータ:
{"identifier":"id","label":"name","items":[{"type":"parent","name":"Finanzamtdaten des Mitarbeiters","id":"1022right000","children":[{"type":"Leaf","name":"Relationship type: 1:1","id":"Finanzamtdaten des Mitarbeiters1:1"},{"type":"parent","name":"Left","id":"Finanzamtdaten des Mitarbeiters0100","children":[{"type":"Leaf","name":"Table name: Mitarbeiter","id":"100left234320"},{"type":"Leaf","name":"Field name: fkFinanzamtdaten:INTEGER","id":"1019lef423t0"}]},{"type":"parent","name":"Right","id":"Finanzamtdaten des Mitarbeiters1110","children":[{"type":"Leaf","name":"Table name: Finanzamtdaten","id":"1014right2340"},{"type":"Leaf","name":"Field name: finanzamtdatenId:INTEGER","id":"1015right22230"}]}]},{"type":"parent","name":"Adresse des Mitarbeiters","id":"1013right001","children":[{"type":"Leaf","name":"Relationship type: 1:1","id":"Adresse des Mitarbeiters1:1"},{"type":"parent","name":"Left","id":"Adresse des Mitarbeiters0101","children":[{"type":"Leaf","name":"Table name: Mitarbeiter","id":"100left234321"},{"type":"Leaf","name":"Field name: fkAdresse:INTEGER","id":"1012lef423t1"}]},{"type":"parent","name":"Right","id":"Adresse des Mitarbeiters1111","children":[{"type":"Leaf","name":"Table name: Adresse","id":"105right2341"},{"type":"Leaf","name":"Field name: adresseId:INTEGER","id":"106right22231"}]}]}]}