怎么提交grid中的数据

来源:互联网 发布:人类迁徙 知乎 编辑:程序博客网 时间:2024/05/19 10:37

一、提交Ext.grid.GridPanel 中所有数据

1、前台操作

function saveOperatorFunExt(){

  var store=funExt_grid_center.getStore();
   // 将数据放到另一个数组中
  
 var selFuns = [];
   store.each(function(rec){
    selFuns.push(Ext.util.JSON.encode(rec.data));
   });

   Ext.Ajax.request({// ajax提交删除单据
      url : _base + '/system/operator!saveOperatorFunExt.so',// 提交路径(必须加'_base')
      params : {// 参数
       "funExt" : selFuns,
       "operator.userId":cell[0].data.userId
      },// 顶级根节点Id
      success : function(response, config) {// 成功后执行
       Ext.Msg.alert("提示", "授特权成功!");
      },
      failure : function() {
       Ext.MessageBox.alert("提示", "授特权失败,请与系统管理员联系");
      }
     });//end ajax
  }

2、后台接收

public class OperatorAction extends BaseAction {

   private List<OperatorFunExt> selFuns;
   private List funExt;

   private Operator operator;

   public String saveOperatorFunExt() throws BusinessException {
        String userId = operator.getUserId();
       
if (funExt != null && funExt.size() > 0) {
            JSONObject jsonObj = null;
            JSONArray array = JSONArray.fromObject(funExt); //将存放json字符串的对象转换为JSONArray类型
            Object[] objArray = array.toArray(); //将JSONArray转换为对象数组
            selFuns=new ArrayList<OperatorFunExt>();
            for(Object obj  : objArray){
                jsonObj  = JSONObject.fromObject(obj);//将对象类型转换为json对象
                MorphDynaBean morphDynaBean = (MorphDynaBean)jsonObj.toBean(jsonObj);
                OperatorFunExt funExt = new OperatorFunExt();
                funExt.setOperatorFunExt(morphDynaBean);
                selFuns.add(funExt);
            }
            operatorfunextService.assignOptorResources(userId, selFuns);
        }
        success = true;
        return JSON;
    }

    //....变量的get、set方法//

}

 

二、提交Ext.grid.EditorGridPanel 中修改了的数据

1、前台操作 

function saveOperatorFunExt(){

  var store=funExt_grid_center.getStore();
   // 将数据放到另一个数组中
  
 var modified = store.modified.slice(0);
    // 将数据放到另一个数组中
   var selFuns= [];
   Ext.each(modified, function(m) {
       // 将modified数组中的对象转换为json字符串后存入集合中
       selFuns.push(Ext.util.JSON.encode(m.data));
    });

   Ext.Ajax.request({// ajax提交删除单据
      url : _base + '/system/operator!saveOperatorFunExt.so',// 提交路径(必须加'_base')
      params : {// 参数
       "funExt" : selFuns,
       "operator.userId":cell[0].data.userId
      },// 顶级根节点Id
      success : function(response, config) {// 成功后执行
       Ext.Msg.alert("提示", "授特权成功!");
      },
      failure : function() {
       Ext.MessageBox.alert("提示", "授特权失败,请与系统管理员联系");
      }
     });//end ajax
  }

2、后台接收

方法和“一”的“后台接收”方法相同

原创粉丝点击