用于显示服务器端验证结果的Jqgrid编辑事件

时间:2016-04-28 06:58:59

标签: javascript jquery jqgrid

我正在使用内联编辑和删除功能。我没有明确使用任何editGridRowdelGridRow方法。我需要验证服务器端的数据并显示结果。如果要删除,我会在delOptions属性afterSubmitafterComplete下有很多活动。但是对于编辑,我不知道我应该用来从服务器获取验证结果并将其显示给用户的事件。建议?

//My action colmodel

colEditModel = {
            name: "actions",
            width: 90,
            formatter: "actions",
            sortable: false,
            search: false,
            formatoptions: {
                keys: true,
                editOptions: {},
                addOptions: {},
                delOptions: {
                    onclickSubmit: function (options) {
                        options.delData = {//Some data};
                        options.url = "Allocation/EditAllocation";
                    },
                }
            }
        };

// Grid

$("#jqGrid").jqGrid({
            url: "Allocation/GetAllocations",
            mtype: "GET",
            datatype: "json",
            colModel: col_model,
            colNames: col_names,
            postData: { selectedDate: dateValue, filterCriteria: criteria },
            editurl: "Allocation/EditAllocation",
            serializeRowData: function (postdata) {
                var requestData = { // some data};
                return requestData;
            },
            loadonce: true,
            viewrecords: false,
            height: 330,
            width: null,
            shrinkToFit: false,
            autoheight: true,
            pager: "#jqGridPager",
            scroll: false,
            rownumbers: false,
            treeGrid: false,
            gridview: true,

        });

1 个答案:

答案 0 :(得分:1)

您使用的jqGrid版本以及您使用的jqGrid的分支的确切实现depand。如果您使用旧版本的jqGrid,则可以在onError formatoptions内指定formatter: "actions"回调来处理内联编辑错误并使用delOptions.errorTextFormat({{1}回调,你必须在errorTextFormat的{​​{1}}属性中定义。

重要的是要理解,服务器端验证与来自服务器的任何其他错误报告相同。服务器应将错误描述作为HTML片段返回。响应必须使用任何错误的HTML状态代码(值> = 400)。