【问题标题】:jqGrid Add/Edit from navGrid not workingjqGrid从navGrid添加/编辑不起作用
【发布时间】:2015-06-10 21:29:14
【问题描述】:

我已经使用 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");

作品:

  • 删除选定的行
  • 搜索

不起作用:

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

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

【问题讨论】:

    标签: javascript jqgrid


    【解决方案1】:

    datatype: "local" 和远程编辑editurl 的组合让我觉得很奇怪。我会建议你添加

    reloadAfterSubmit: false
    

    添加和编辑设置的选项。它将阻止默认重新加载网格。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-09
      • 1970-01-01
      • 2010-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多