jgGrid从navGrid添加/编辑不起作用

时间:2015-06-10 21:29:14

标签: javascript jqgrid

我已经使用jqGrid 4.5.2实现了一个基本的jqGrid表,我添加了'添加','编辑'删除' navGrid上的按钮。

使用'添加'或者'编辑'按钮生成一个模态,我在其中添加/编辑行的值。单击提交后,我的控制器被成功调用,但在表格中没有添加/编辑新行。

的javascript

jQuery(grid_selector).jqGrid({
    data: grid_data,
    datatype: "local",
    colNames:[' ', 'Col1','Col2', 'Col3', 'Col4'],
    colModel: modelArray,
    editurl: "editController"
});

//navButtons
jQuery(grid_selector).jqGrid('navGrid',pager_selector,
    {   //navbar options
        edit: true,
        add: true,
        del: true,
    },{   //edit record form
        recreateForm: true
    },{   //new record form
        closeAfterAdd: true,
        recreateForm: true,
        viewPagerButtons: false
    },{   //delete record form
        recreateForm: true
    }
);

Java控制器

String action = request.getParameter("oper");
Map<String, String[]> parameterMap = request.getParameterMap();
switch (action) {
          case "del":
                    String ids = request.getParameter("id");
                    deleteEmployee(ids);
                    break;
          case "edit":
                    RowData row = generateObjFromMap(parameterMap);
                    editRow(row);
                    break;
          case "add":
                    RowData row1 = generateObjFromMap(parameterMap);
                    row1 = saveRow(row11);
                    break;
            }
 }
 out.print("Success");

使用:

  • 删除所选行
  • 搜索

不起作用:

  • 添加新行(虽然调用了控制器)
  • 编辑选定的行(虽然调用了控制器)

为什么在添加/编辑时没有更新表?

1 个答案:

答案 0 :(得分:1)

组合datatype: "local"和远程编辑editurl似乎很奇怪。我建议你添加

reloadAfterSubmit: false
添加和编辑设置的

选项。它将阻止默认重新加载网格。