首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

jqgrid4-inline模式,怎么根据服务器返回值判定数据是否保存

2012-09-04 
jqgrid4--inline模式,如何根据服务器返回值判定数据是否保存请问 :jqgrid4--inline模式,如何根据服务器返

jqgrid4--inline模式,如何根据服务器返回值判定数据是否保存
请问 : jqgrid4--inline模式,如何根据服务器返回值判定数据是否保存,如果服务器保存数据失败,如何在客户端显示给出服务器端传送过来的错误消息(用一个变量表示),并阻止客户端保存.需要改变jqgrid哪个事件的响应函数?
谢谢!

客户端代码如下: 目前可以传送数据到服务器端,服务器端返回{"message":"存在重复数据,增加数据失败!","new_id":-1,"success":false},但不知道客户端如何处理,客户端应该接受什么样的数据呢?

JScript code
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%    String path = request.getContextPath();    String basePath = request.getScheme() + "://"            + request.getServerName() + ":" + request.getServerPort()            + path + "/";%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Insert title here</title><link    href="/education2/jqGrid4.4/themes/redmond/jquery-ui-1.8.2.custom.css"    rel="Stylesheet" /><link href="/education2/jqGrid4.4/themes/ui.jqgrid.css" rel="Stylesheet" /><script src="/education2/jqGrid4.4/js/jquery-1.7.2.js"    type="text/javascript"></script><script type="text/javascript"    src="/education2/jqGrid4.4/js/jquery-ui-1.8.2.custom.min.js"></script><script type="text/javascript"    src="/education2/jqGrid4.4/js/i18n/grid.locale-cn.js"></script><script src="/education2/jqGrid4.4/js/jquery.jqGrid.src.js"    type="text/javascript"></script><script type="text/javascript">    jQuery(document).ready(function() {        jQuery("#gridTable").jqGrid({            url : '/education2/json/searchTeacher',            mtype : "GET",            datatype : "json",            colNames : [ 'Id', '姓名', '职称', '院系', '教研室', '学历', '出生年月' ],            colModel : [ {                name : 'teacherId',                index : 'teacherId',                width : 55,                hidden : true,                hidedlg : true,//form中不出现                key : true            }, {                name : 'teacherName',                index : 'teacherName',                width : 90,                editable : true            }, {                name : 'teacherTitle',                index : 'teacherTitle',                width : 100,                editable : true,                edittype : 'select',                editoptions : {                    value : '讲师:讲师; 副教授:副教授; 教授:教授'                }            }, {                name : 'teacherDepartment',                index : 'teacherDepartment',                width : 80,                align : "right",                edittype:'select',                 editoptions:{dataUrl : "/education2/json/departmentTeacher"},                editable : true            }, {                name : 'teacherSection',                index : 'teacherSection',                width : 80,                align : "right",                editable : true            }, {                name : 'teacherEducation',                index : 'teacherEducation',                width : 80,                align : "right",                editable : true            }, {                name : 'teacherBirthday',                index : 'teacherBirthday',                width : 150,                sortable : false,                editable : true            } ],            jsonReader : {                root : "gridModel",                records : "record",                repeatitems : false            },            prmNames : {                search : "search",                id : "id" /////////inline模式  id不能等于表字段名,否则增加记录出错            },            //            jqGridInlineAfterSaveRow : function(rowid, resp, tmp, o) {                            //            },            rowNum : 10,            rowList : [ 10, 20, 30 ],            //            multiselect : true,            //            multiboxonly : true,            pager : jQuery('#gridPager'),            sortname : 'teacherId',            viewrecords : true,            sortorder : "desc",            editurl : "/education2/json/editTeacher",            caption : "教师"        });        jQuery("#gridTable").jqGrid('navGrid', "#gridPager", {            edit : false,            add : false,            del : false        }, {}, {}, {},{            caption : "查找",            Find : "开始查找",            closeAfterSearch : true        });        jQuery("#gridTable").jqGrid('inlineNav', "#gridPager");    });</script></head><body>    <table id="gridTable"></table>    <div id="gridPager"></div>    <br /></body></html> 



[解决办法]
http://rautinee.iteye.com/blog/660000
看看這篇,也許可以幫到你。
[解决办法]
楼主也碰到了这个问题?网上似乎到处都没有直接的答案,而jqgrid的文档不太完善,我也是靠自己摸索得来的,有些问题也还没有找到解决方案,我也一直没空写些学习笔记分享下,在这扼要说下你这问题的解决方案,希望能帮到后来者:

1,editurl 对应的后台须返回一个Json:
C# code
public JsonResult editTeacher(Teacher _Teacher){    JsonResult rst = new JsonResult();    try    {        //保存_Teacher        //成功        rst.Data = new { success = true };        return rst;    }    catch (Exception e)//失败    {        rst.Data = new { success = false, error = e.Message };        return rst;    }} 

热点排行