介绍一下批量提交grid中数据的问题

js文件中的提交方法如下:

listeners: {
click: function btnClick(button) {
var win = button.up('window');
var form = win.down("form");
var loadMarsk = new Ext.LoadMask(win, {//元素、DOM节点或id, {
msg: '正在执行,请稍候...',
removeMask: true// 完成后移除
});
loadMarsk.show();
var grid = form.down("grid");
var store = grid.getStore();
//
//var store = win.down("grid").getStore();
var m = store.getRange(0, store.getTotalCount()); //store.getModifiedRecords().slice(0);
var jsonArray = [];
Ext.each(m, function (item) {
jsonArray.push(item.data);
});
Ext.Ajax.request({
method: 'POST',
url: '/FoolProof/Savelist',
success: function (response) {
var o = Ext.decode(response.responseText.toString());
var center_store = Ext.ComponentQuery.query("Ali_FoolProofCenterList")[0].getStore();
center_store.loadPage(1);
console.log(o);
Ext.Msg.alert('提示', o.data.message);
loadMarsk.hide();
},
failure: function () {
Ext.Msg.alert("错误", "与后台联系的时候出了问题。");
loadMarsk.hide();
},
params: 'data=' + encodeURIComponent(Ext.encode(jsonArray))
});
win.close();
}
}
------------------------------------

controller中的方法如下:

public JsonResult Savelist(string data)
{
return this.ReturnAjaxResultJson(() =>
{

try
{
string list = HttpUtility.UrlDecode(data);
if (list.StartsWith("[") == false)
{
list = "[" + list;
}
if (list.EndsWith("]") == false)
{
list = list + "]";
}
List<FoolProofCenter> instanceList = JsonConvert.DeserializeObject<List<FoolProofCenter>>(list);
int result = nService.Savelist(instanceList, CurrentUser.USER_ID);
if (result > 0)
{
return SingleReturnObject.BuildSingleInfo(true, "保存成功!", null);
}
else
{
return SingleReturnObject.BuildSingleInfo(true, "保存失败!", null);
}
}
catch (Exception e)
{
return SingleReturnObject.BuildSingleInfo(false, e.Message, null);
}
});
}

--------------向grid中插入l临时数据--------------------------------

---------------查找记录是否存在,不存在插入store中-------------------
{
text: "Add",
action: "Add",
listeners: {
click: function (btn) {
var form = btn.up("form");
if (!form.isValid()) {
return;
}
var obj = form.getValues();
var fct_name = form.down("combo[name=FactoryCode]").getRawValue();
var line_name = form.down("combo[name=Line]").getRawValue();
var grid = form.down("grid");
var myStore = grid.getStore();
var pk_value = obj.FactoryCode + obj.Line + obj.GBMCode + obj.ApplyArticleCode + obj.ApplyLocation;
var existRecord = myStore.findRecord("pk", pk_value, 0, false, false, true);
//console.log(existRecord);
if (existRecord == null) {
var s = Ext.String.format(
'([{"FCT_CODE":"{0}", "LINE_CODE":"{1}", "GBM_CODE":"{2}", "FPRF_APLY_ART_CODE":"{3}", "APLY_LOC_CODE":"{4}", "RMK":"{5}","DEL_YN":"{6}", "USE_YN":"{7}", "FCT_NM":"{8}", "LINE_NM":"{9}","pk":"{10}"}])'
, obj.FactoryCode, obj.Line, obj.GBMCode, obj.ApplyArticleCode, obj.ApplyLocation, obj.Remark, "N", obj.ResultYN, fct_name, line_name,pk_value);
//console.log(s);
var record = eval(s);
myStore.insert(0, record);
myStore.sort();
grid.getView().refresh();
}

}
}
},

-------------grid中定义store---------------------------
xtype: "grid",
store: Ext.create('Ext.data.Store', {
fields: ["FCT_CODE", "LINE_CODE", "GBM_CODE", "FPRF_APLY_ART_CODE", "APLY_LOC_CODE", "RMK",
"DEL_YN", "USE_YN", "FCT_NM", "LINE_NM", "pk"],
data: {
'items': [
//{ 'FileName': '', "FilePath": "", "Result": "" }
]
},
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'items'
}
}
}),
--------------------------------------------------------------
store: Ext.data.StoreManager.lookup('employeeStore'),
----------------------------------------------------------

Ext.Ajax.request批量提交表单的更多相关文章

  1. Ajax 跨域提交表单

    跨域提交表单,前端ajax不用做任何修改, 只需要在后端调用的方法里面添加一行代码即可. .NET 版 HttpContext.Response.AddHeader("Access-Cont ...

  2. Ajax无刷新提交表单和显示

    ajax无刷新表单提交:   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...

  3. 不使用ajax,无刷新提交表单

    <form action="form_action.asp" method="get" onsubmit"check_form()" ...

  4. TP 框架 ajax[利用异步提交表单]

    //[] $(function () { $("#send-btn" ).click(function (){ //接受表单的值 var username=$('input[nam ...

  5. ajax.BeginForm异步提交表单并显示更新数据

    view代码: <!--基本信息模块--> 2 <div class="profile_box" id="basicInfo"> 3 & ...

  6. 关于ajax直接提交表单jQuery .validator验证不起作用问题

    之前用$.ajax(function(){});直接提交表单,而表单验证不通过也能提交. $(document).ready(function(){ $.ajax({       url:" ...

  7. 不使用Ajax,如何实现表单提交不刷新页面

    不使用Ajax,如何实现表单提交不刷新页面? 目前,我想到的是使用<iframe>,如果有其他的方式,后续再补. 举个栗子: 在表单上传文件的时候必须设置enctype="mul ...

  8. Yii框架用ajax提交表单时候报错Bad Request (#400): Unable to verify your data submission.

    提交表单报400错误,提示 "您提交的数据无法验证"原来是csrf验证的问题,因为表单是自己写的,在Yii框架中,为了防止csrf攻击,对post的表单数据封装了CSRF令牌验证. ...

  9. lavarel框架中如何使用ajax提交表单

    开门见山,因为laravel以post形式提交数据时候需要加{{csrf_field()}}防止跨站攻击,所以当你用ajax提交表单时候自然也要加 在网上看了很多的解决方式,我是用下面这种方法解决的: ...

随机推荐

  1. ZOJ 2314 (sgu 194) Reactor Cooling (无源汇有上下界最大流)

    题意: 给定n个点和m条边, 每条边有流量上下限[b,c], 求是否存在一种流动方法使得每条边流量在范围内, 而且每个点的流入 = 流出 分析: 无源汇有上下界最大流模板, 记录每个点流的 in 和 ...

  2. Linux系统监视工具

    转自      http://bbs.51cto.com/thread-971896-1.html # 1: top – 查看活动进程的命令TOP工具能够实时显示系统中各个进程的资源占用状况.默认情况 ...

  3. HDU 4965 Fast Matrix Calculation 矩阵快速幂

    题意: 给出一个\(n \times k\)的矩阵\(A\)和一个\(k \times n\)的矩阵\(B\),其中\(4 \leq N \leq 1000, \, 2 \leq K \leq 6\) ...

  4. 27、android log日志

    一.记住 加写sd卡权限 二.代码 package com.example.logtest; import java.io.File; import java.io.IOException; impo ...

  5. Selenium WebDriver-操作单选框

    先判断按钮是否已经被选中 如果没有被选中,才可以点击 #encoding=utf-8 import unittest import time import chardet from selenium ...

  6. 1.部署虚拟环境安装linux系统

    第1章 部署虚拟环境安装linux系统 章节简述: 本章从零基础详细讲解了虚拟机软件与红帽Linux系统,完整演示了VM虚拟机的安装与配置过程,以及红帽RHEL 7系统的安装.配置过程和初始化方法.此 ...

  7. mac iterm 快捷键

    标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:comma ...

  8. 【USACO09FEB】 庙会班车 Fair Shuttle 贪心+线段树

    Although Farmer John has no problems walking around the fair to collect prizes or see the shows, his ...

  9. 实施生成树 STP 高级

    一.生成树协议的演化 生成树协议可以识别防止二层环路 本节介绍每VLAN快速生成树增强版 PVRST+   和多生成树MST   如何配置协议   以及配置生成树系诶稳定性机制 1.生成树协议的演化 ...

  10. [已解决]使用 apt-get update 命令提示 ...中被配置了多次

    报错:W: 目标 Sources (main/source/Sources) 在 /etc/apt/sources.list:2 和 /etc/apt/sources.list:7 中被配置了多次 v ...