J2EE

Dojo 中使用 DataGrid 实现 RESTful

DataGrid 是 Dojo的数据表格控件,功能完善,可轻松实现RESTful功能。

DataGrid同RESTful服务器交互通过JsonRestStore实现执行GET、PUT、POST和DELETE命令

var store = new dojox.data.JsonRestStore({target:”/Table/”, idAttribute:”id”});
为DataGrid指定 store

gridLayout = [
{ name: ‘Address’, field: ‘shipToAddress’, editable: true},
{ name: ‘Name’, field: ‘name’},
{ name: ‘Id’, field: ‘id’}];
var grid = new dojox.grid.DataGrid({
store: store,
structure: gridLayout
}, dojo.byId(“gridElement”));
grid.startup();
当对DataGrid进行编辑操作后执行store.save()时会执行对应操作

POST /{Table} 新增

PUT /{Table}/{id} 修改 (如果修改多行会分多次提交)

DELETE /{Table}/{id} 删除

Dojo中datagrid刷新实现

当针对datagrid数据做修改是需要对datagrid(dojox.grid.EnhancedGrid)做更新,Dojo中datagrid没有refresh类的方法

下面在增删改例子中简单实现数据更新:

增加操作:

function addObject(){
var form = dojo.byId(“myForm”);

var xhrArgs = {
form: form,
load: function(data){
if(data==”100″){
store.newItem({id:form.id.value,channelName:form.channelName.value});
}
},
error: function(error){
console.log(error);
}
}
var deferred = dojo.xhrPost(xhrArgs);
}