在以下示例中,如果json数据包含名称列,则数据仅显示在网格中 - >第一个网格显示数据,第二个网格不显示。
为什么会这样?
的index.html: 道场网格
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.3/dijit/themes/tundra/tundra.css" />
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.3/dojo/resources/dojo.css" />
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.3/dojox/grid/_grid/tundraGrid.css">
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/dojo/1.3/dojo/dojo.xd.js"
djConfig="parseOnLoad: true, isDebug: true">
</script>
<script type="text/javascript">
dojo.require("dojo.parser");
dojo.require("dojox.grid.Grid");
dojo.require("dojo.data.ItemFileReadStore");
</script>
</head>
<body class="tundra">
<span dojoType="dojo.data.ItemFileReadStore"
jsId="withNameStore"
url="WithNameColumn.json"
clearOnClose="true">
</span>
<table id="withNameGrid"
dojoType="dojox.grid.Grid"
store="withNameStore"
clientSort="true"
style="width: 20em; height: 20em;">
<thead>
<tr>
<th field="ID" >ID</th>
<th field="test">Test</th>
</tr>
</thead>
</table>
<span dojoType="dojo.data.ItemFileReadStore"
jsId="withoutNameStore"
url="WithoutNameColumn.json"
clearOnClose="true">
</span>
<table id="withoutNameGrid"
dojoType="dojox.grid.Grid"
store="withoutNameStore"
clientSort="true"
style="width: 20em; height: 20em;">
<thead>
<tr>
<th field="ID" >ID</th>
<th field="test">Test</th>
</tr>
</thead>
</table>
</body>
</html>
WithNameColumn.json:
{
"identifier":"ID",
"label":"test",
"items":
[{"ID":2,"name":"name1","test":"dog"},
{"ID":3,"name":"name2","test":"cat"},
{"ID":4,"name":"name3","test":"mouse"}]
}
WithoutNameColumn.json:
{
"identifier":"ID",
"label":"test",
"items":
[{"ID":2,"test":"dog"},
{"ID":3,"test":"cat"},
{"ID":4,"test":"mouse"}]
}
答案 0 :(得分:2)
只需向元素添加查询属性即可。像这样:
&lt; table query =“{ID:'*'}”...&gt;
这是因为在从数据存储区请求数据时会执行查询
答案 1 :(得分:0)
不需要名称列 但是,您确实需要数据存储中的属性与列中的列名称之间的映射 网格。 在定义网格“布局”时完成此操作 “布局”中的“字段”属性是数据存储中列的名称(确切地说是属性的名称),“布局”中的“名称”属性是网格中的列名。 / p>
gridLayout = [{
defaultCell: { width: 8, editable: true, type: dojox.grid.cells._Widget, styles: 'text-align: right;' },
rows: [
{ name: 'Id', field: 'id', editable: false /* Can't edit ID's of dojo.data items */ },
{ name: 'Date', field: 'col8', width: 10,
type: dojox.grid.cells.DateTextBox,
formatter: formatDate,
constraint: {formatLength: 'long', selector: "date"}},
{ name: 'Priority', styles: 'text-align: center;', field: 'col1',
type: dojox.grid.cells.ComboBox,
options: ["normal", "note", "important"], width: 10},
{ name: 'Mark', field: 'col2', width: 3, styles: 'text-align: center;',
type: dojox.grid.cells.CheckBox},
statusCell,
{ name: 'Message', field: 'col4', styles: '', width: 10,
type: dojox.grid.cells.Editor, editorToolbar: true },
{ name: 'Amount', field: 'col5', formatter: formatCurrency, constraint: {currency: 'EUR'},
widgetClass: dijit.form.CurrencyTextBox },
{ name: 'Amount', field: 'col5', formatter: formatCurrency, constraint: {currency: 'EUR'},
widgetClass: dijit.form.HorizontalSlider, width: 10}
]
}];