Ok... also folgender Code
funktioniert wenn ich den JSON-Code einer Ansicht entsprechend anpasse und in einer Datei anpasse:
<html>
<head>
<title>Dojo</title>
<style type="text/css">
@import "dojo/resources/dojo.css";
@import "dojox/grid/resources/Grid.css";
@import "dojox/grid/resources/tundraGrid.css";
.grid {
width: 70em;
height: 15em;
}
</style>
<script type="text/javascript"
src="dojo/dojo.js" djConfig="isDebug:true, parseOnLoad: true">
</script>
<script type="text/javascript">
dojo.require("dojox.grid.DataGrid");
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dojo.parser");
var jsonStore = new dojo.data.ItemFileReadStore({url: "view.json"});
</script>
</head>
<body class="tundra">
<table id="gridNode" jsId="grid" dojoType="dojox.grid.DataGrid"
query="{ noteid: '*' }" store="jsonStore">
<thead>
<tr>
<th field="unid">Note-ID</th>
</tr>
</thead>
</table>
</body>
</html>
Überarbeiteter JSON-Code der Ansicht:
{ "@timestamp" : "20100719T131752,62Z",
"@toplevelentries" : "6",
"items" : [ { "noteid" : "95E",
"@position" : "1",
"@siblings" : "6",
"unid" : "C125775300255388C125775F0020E5E1",
"entrydata" : [ { "@columnnumber" : "0",
"@name" : "Subject",
"text" : { "0" : "--- Private Entry ---" }
} ]
},
{ "noteid" : "962",
"@position" : "2",
"@siblings" : "6",
"unid" : "C125775300255388C125775F0029B14C",
"entrydata" : [ { "@columnnumber" : "0",
"@name" : "Subject",
"text" : { "0" : "Eintrag 001" }
} ]
}
]
}
Den Code der Ansicht musste ich entsprechend anpassen. Hier der originale
{ "@timestamp" : "20100719T131752,62Z",
"@toplevelentries" : "6",
"viewentry" : [ { "@noteid" : "95E",
"@position" : "1",
"@siblings" : "6",
"@unid" : "C125775300255388C125775F0020E5E1",
"entrydata" : [ { "@columnnumber" : "0",
"@name" : "Subject",
"text" : { "0" : "--- Private Entry ---" }
} ]
},
{ "@noteid" : "962",
"@position" : "2",
"@siblings" : "6",
"@unid" : "C125775300255388C125775F0029B14C",
"entrydata" : [ { "@columnnumber" : "0",
"@name" : "Subject",
"text" : { "0" : "Eintrag 001" }
} ]
}
]
}
Wie man sieht, musste ich einmal "viewentry" in "items" umbenennen sowie die @-Zeichen davor entfernen, damit der query in dojo funktionierte.
Meine Frage ist nun, wie ich einmal mit den @-Zeichen umgehe und wie ich dojo sagen kann, dass der nicht auf die "items" gehen soll wie in allen anderen JSON-Outputs sondern auf die "viewentrys".
Hoffe ihr versteht mein Problem...
Liebe Grüße,
Markus