1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>dojox.Grid with Dojo.Data via binding</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
<style type="text/css">
@import "../../../dojo/resources/dojo.css";
@import "../_grid/Grid.css";
#grid {
width: 65em;
height: 25em;
}
</style>
<script type="text/javascript" src="../../../dojo/dojo.js"
djConfig="isDebug: true, debugAtAllCosts: false, parseOnLoad: true"></script>
<script type="text/javascript">
dojo.require("dojox.grid.Grid");
dojo.require("dojo.data.ItemFileWriteStore");
dojo.require("dojo.parser");
dojo.require("dijit.form.Button");
</script>
<script type="text/javascript">
function getRow(inRowIndex){
return ' ' + inRowIndex;
}
var layoutCountries = [
// view 0
{ type: 'dojox.GridRowView', width: '20px' },
// view 1
{ cells: [[{ name: "Row", get: getRow, width: 5}]], noscroll: true},
// view 2
{ cells: [[
{ name: "field 0", field: 0, width: 8 },
{ name: "field 1", width: 8 }
]]}
];
var emptyData = { identifier: 'name', label: 'name', items: []};
var jsonStore = new dojo.data.ItemFileWriteStore({data: emptyData});
var numItems = 0;
</script>
</head>
<body class="tundra">
<h5>dojox.Grid using initially-empty Dojo.Data write stores and then adding an item. Item should show up correctly (no "?"s) when added.</h5>
<br>
<span dojoType="dojox.grid.data.DojoData"
jsId="dataModel"
rowsPerPage="20"
store="jsonStore" count="0">
</span>
<div id="grid" dojoType="dojox.Grid" elasticView="2"
model="dataModel" structure="layoutCountries">
</div>
<button dojoType="dijit.form.Button">
<script type="dojo/method" event="onClick">
numItems++;
jsonStore.newItem({name: numItems + "-person Land", type: "city", population: numItems});
</script>
Add Item
</button>
</body>
</html>
|