`
PrideSnow
  • 浏览: 239695 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

怎么提交grid中的数据

阅读更多

一、提交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、后台接收

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics