//设置可编辑datagrid列表
$('#levelGlad').datagrid({
title:’自增可编辑列表’
toolbar:[{
text:'添加行',
iconCls:'icon-add',
handler:function(){
//获取当前列表数据行数
var lastIndex= $('#levelGlad').datagrid('getRows').length-1;
//添加一空数据行
$('#levelGlad').datagrid('appendRow',{
prizeLevel:’’,
rankStart:’’,
rankEnd:’’,
prizeName:’’
});
//设置添加的数据行可编辑
$('#levelGlad').datagrid('beginEdit', lastIndex);
}
},'-',{text:'重置',
iconCls:'icon-remove',
handler:function()
{
//初始化datagrid对象
$('#levelGlad').datagrid();
//获取datagrid数据
var ch= $('#levelGlad').datagrid('getRows');
//在不为空的情况下,清空数据
if(ch!=null&&ch!='')
{
$('#levelGlad').datagrid('loadData',{total:0,rows:[]});
}
}}],
columns:[[
{field:'prizeLevel',title:'奖项级别',align:'center',width:100}
,{field:'rankStart',title:'起始排名',align:'center',width:120,editor:'numberbox'}
,{field:'rankEnd' ,title:'结束排名',align:'center',width:120,editor:'numberbox'}
,{field:'prizeName' ,title:'奖品信息',align:'center',width:140,editor:'text'}
]]
});
//提交列表数据
functionsavePrizeRule()
{
$('#levelGlad').datagrid('endEdit', lastIndex);
griddate = $('#levelGlad').datagrid('getRows');
//将json对象数据转换成json字符串,此处需json2-min.js支持
var leveljson= JSON.stringify(griddate);
//将获取的json串赋值给隐藏域
$('#levelJson').attr("value",leveljson);
$('#addPagetab').form('submit',{
url :"",
dataType :"json",
cache:false,
success :function(result){
var data= eval('('+result+')');
if(data.flag==1)
{
//成功操作
}
elseif(data.flag==-1)
{
//失败操作
}
else
{
//异常操作
}
}
});
}
/html部分
<form id='addPagetab' method=’post’><inputtype="hidden" name='jsonRoot' id='levelJson' >
<div id='divGlad'>
<div id='levelGlad' ></div>
</div>
<divalign="center"><input type="button" value="提交"οnclick="savePrizeRule();"/><input type="button"value='返回'οnclick='closeaddDiag()' /></div>
</form>
///java端
private String jsonRoot;
public String addeHandler()
{
try {
try {
//将前台传来的json串转换成对象,此处需jsontools-core-1.7.jar支持
// TUserPrizeLevelinfo装置列表数据的对象,根据自己需要定义
List<TUserPrizeLevelinfo> obj =(ArrayList<TUserPrizeLevelinfo>)jsonStrToObject(jsonRoot,TUserPrizeLevelinfo.class );
//数据操作
} catch (TokenStreamException e) {
//TODO Auto-generatedcatch block
e.printStackTrace();
} catch (RecognitionException e) {
//TODO Auto-generatedcatch block
e.printStackTrace();
} catch (MapperException e) {
//TODO Auto-generatedcatch block
e.printStackTrace();
}
}
flag = 1;
}
else
{
flag = -1;
}
ServletActionContext.getResponse().setCharacterEncoding("utf-8");
PrintWriter write = ServletActionContext.getResponse().getWriter();
JSONObject jsonobj = new JSONObject();
jsonobj.put("flag", flag);
write.print(jsonobj.toString());
} catch (IOException e) {
//TODO Auto-generatedcatch block
e.printStackTrace();
}
returnnull;
}
//将前台传来的json串转换成对象,此处需jsontools-core-1.7.jar支持
publicObjectjsonStrToObject(String jsonStr,Class<?> cla)throws MapperException,TokenStreamException, RecognitionException{
Objectobj =null;
try{
JSONParser parser =new JSONParser(new StringReader(jsonStr));
JSONValue jsonValue= parser.nextValue();
if(jsonValueinstanceofcom.sdicons.json.model.JSONArray){
List list = new ArrayList();
JSONArray jsonArray = (JSONArray) jsonValue;
for(int i=0;i<jsonArray.size();i++){
JSONValue jsonObj = jsonArray.get(i);
Object javaObj = JSONMapper.toJava(jsonObj,cla);
list.add(javaObj);
}
obj = list;
}elseif(jsonValueinstanceofcom.sdicons.json.model.JSONObject){
obj = JSONMapper.toJava(jsonValue,cla);
}else{
obj = jsonValue;
}
}catch(Exception e){
e.printStackTrace();
}
return obj;
}
jar包支持:
http://download.csdn.net/detail/fjza1168/7308465
js支持:
http://download.csdn.net/detail/fjza1168/7308407