使用带有增强DataGrid的Dojo Json Rest存储不会发送任何查询
Im使用Dojo 1.7.1 Dojo.store.JsonRest用数据填充EnhancedGrid。 然而,使用Firebug,无论是在启动时还是启动时,我都看不到发送的任何查询 过滤后遗症。桌子还是空的 概述: 一个增强的网格和一个JsonRest存储是以声明方式创建的。 存储被配置为使用REST服务,其GET功能仅限于 返回包含1个元素的Json数组。 一个按钮调用Grids filter函数来测试启动后是否发送查询 该服务返回一个静态Json字符串,如下所示:使用带有增强DataGrid的Dojo Json Rest存储不会发送任何查询,json,rest,dojo,dojox.grid.datagrid,Json,Rest,Dojo,Dojox.grid.datagrid,Im使用Dojo 1.7.1 Dojo.store.JsonRest用数据填充EnhancedGrid。 然而,使用Firebug,无论是在启动时还是启动时,我都看不到发送的任何查询 过滤后遗症。桌子还是空的 概述: 一个增强的网格和一个JsonRest存储是以声明方式创建的。 存储被配置为使用REST服务,其GET功能仅限于 返回包含1个元素的Json数组。 一个按钮调用Grids filter函数来测试启动后是否发送查询 该服务返回一个静态Json字符串,如下所示: [{id:'1',fir
[{id:'1',firstname:'John',lastname:'Doe'}]
源代码如下:
<html>
<head>
<title>Rest Test</title>
<style type="text/css">
@import "js/dojo/resources/dojo.css";
@import "js/dijit/themes/claro/claro.css";
@import "js/dojox/grid/enhanced/resources/claro/EnhancedGrid.css";
@import "js/dojox/grid/enhanced/resources/EnhancedGrid_rtl.css";
</style>
<script type="text/javascript"
src="js/dojo/dojo.js"
data-dojo-config="parseOnLoad:true"></script>
<script type="text/javascript">
dojo.require("dijit.form.Button");
dojo.require("dijit.form.TextBox");
dojo.require("dojox.grid.EnhancedGrid");
dojo.require("dojox.grid.enhanced.plugins.DnD");
dojo.require("dojox.grid.enhanced.plugins.NestedSorting");
dojo.require("dojox.grid.enhanced.plugins.IndirectSelection");
dojo.require("dojo.store.JsonRest");
dojo.addOnLoad(function(){
dojo.connect(dijit.byId("filterButton"),"onClick",function(){
dijit.byId("nameTable").filter("*",true);
});
});
</script>
</head>
<body class="claro">
<button id="filterButton"
data-dojo-type="dijit.form.Button">
Filter Table
</button>
<span id="nameStore"
data-dojo-type="dojo.store.JsonRest"
data-target="http://localhost:8080/MyApp/rest/service3"/>
<table id="nameTable"
style="height:200px;"
data-store="nameStore"
data-dojo-type="dojox.grid.EnhancedGrid"
data-dojo-props="plugins:{dnd: true, nestedSorting: true, indirectSelection: true}" >
<thead>
<tr>
<th data-field="id" width="5%">ID</th>
<th data-field="firstname" width="45%">Vorname</th>
<th data-field="lastname" width="50%">Nachname</th>
</tr>
</thead>
</table>
</body>
</html>
休息试验
@导入“js/dojo/resources/dojo.css”;
@导入“js/dijit/themes/claro/claro.css”;
@导入“js/dojox/grid/enhanced/resources/claro/EnhancedGrid.css”;
@导入“js/dojox/grid/enhanced/resources/EnhancedGrid_rtl.css”;
require(“dijit.form.Button”);
require(“dijit.form.TextBox”);
require(“dojox.grid.EnhancedGrid”);
require(“dojox.grid.enhanced.plugins.DnD”);
require(“dojox.grid.enhanced.plugins.NestedSorting”);
require(“dojox.grid.enhanced.plugins.IndirectSelection”);
require(“dojo.store.JsonRest”);
dojo.addOnLoad(函数(){
connect(dijit.byId(“filterButton”),“onClick”,function(){
dijit.byId(“nameTable”).filter(“*”,true);
});
});
过滤表
身份证件
沃名称
姓氏
我是Restful Web服务的新手,我希望能得到一些帮助来解决这个问题。这可能不是您唯一的问题,但我注意到您使用的是旧的EnhancedGrid,但新的dojo.store.JsonRest没有ObjectStore。 有关更多详细信息,请参阅。以下是摘录: 1.6 DataGrid仍然基于dojo.data API,因此我们将使用dojo.data.ObjectStore适配器将存储连接到DataGrid
这可能不是您唯一的问题,但我注意到您使用的是较旧的EnhancedGrid,但使用的是较新的dojo.store.JsonRest,而没有ObjectStore。 有关更多详细信息,请参阅。以下是摘录: 1.6 DataGrid仍然基于dojo.data API,因此我们将使用dojo.data.ObjectStore适配器将存储连接到DataGrid
是的,这似乎确实是我的大部分问题,但是使用dojo.data.ObjectStore适配器我的代码仍然不起作用,因此我必须解决更多的问题。是的,这似乎确实是我的大部分问题,但是使用dojo.data.ObjectStore适配器我的代码仍然不起作用,因此我必须解决更多的问题。