struts2+easyui datagrid可编辑操作及列表数据提交

来源:互联网 发布:算法统宗题 编辑:程序博客网 时间:2024/05/01 05:22

//设置可编辑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="提交"onclick="savePrizeRule();"/><input type="button"value='返回'onclick='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

 

 

 

 

 

 

1 0