2015-06-10 147 views
0

我已經使用jqGrid 4.5.2實現了一個基本的jqGrid表,我在navGrid上添加了'add','edit','delete'按鈕。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 
    } 
); 

爪哇控制器

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

組合datatype: "local"和遠程編輯editurl看起來很奇怪。我建議您添加

reloadAfterSubmit: false 

選項添加和編輯設置。它將防止默認重新加載網格。