【问题标题】:how to keep current page in jqgrid on clicking edit button如何在单击编辑按钮时将当前页面保留在 jqgrid 中
【发布时间】:2015-09-01 10:56:23
【问题描述】:

我有一个带有五列的 jqgrid 以及 edit 列,编辑列的每一行都有一个编辑按钮。

假设我在 jqgrid 中有一些记录,并且我在 jqgrid 的第 4 页。单击第 4 页上某行的编辑按钮时,将调用一个操作方法,该方法执行某些功能并重新加载页面。

jqgrid 也被重新加载并从第 4 页进入第 1 页,即使在重新加载后如何保持同一页面。

我无法在互联网上找到这种确切情况的答案。

请帮忙!!

提前致谢。

$("#productvariationListGrid").jqgrid(
   {

       url: '../Product/GetAllProductType',
       sortname: 'Name',
       sortorder: 'asc',
       colNames: ['Id', 'Product Name', 'Product Type Name', 'Description', 'Edit'],
       colModel: [
           { name: 'Id', key: true, hidden: true },
           {
               name: 'ProductName',  index: 'ProductName', searchoptions: { sopt: ['cn'] }, resizable: false
           },
           {
               name: 'productTypeName',  index: 'productTypeName', searchoptions: { sopt: ['cn'] }, resizable: false
           },
            {
                name: 'Description',  index: 'Description', searchoptions: { sopt: ['cn'] }, resizable: false
            },
            {
                name: 'Edit',  index: 'Edit',  sortable: false, search: false,
                formatter: actionFormatterEdit

            }
       ],
       rowNum: 5,
       autowidth: true,
       width: '100%'
   });


    function actionFormatterEdit(cellvalue, options, rowObject) {
        return '<a href="../Product/EditProductType?ProductTypeId=' + options.rowId + '" class="editIcon"></a>';

【问题讨论】:

  • 考虑使用 ajax 发布表单以便您留在同一页面上,否则将指示当前页面的值传递给控制器​​ POST 方法

标签: jquery asp.net-mvc-3 jqgrid


【解决方案1】:

您当前的编辑实现只会打开新的 HTML 页面。在这种方式下,您会丢失有关网格状态的所有信息。您应该考虑使用 Ajax 与服务器进行通信。这是jqGrid中实现的标准编辑方式。

或者,您可以将当前页面保存在网络浏览器的localStorage 内或cookie 中。要获取网格的当前页面,您可以使用$("#productvariationListGrid").jqgrid("getGridParam", "page")。在在创建网格之前执行的代码中,您应该尝试从localStorage(或从cookie)获取页码。可以使用 jqGrid 的page: oldPage 选项来创建网格并加载oldPage 而不是第一页。

The answerthis onethe oldest one 展示了如何保存页码以及有关网格状态的许多其他信息。你可以试试the demo,比如换页,选择一行,改变列宽或者列顺序等等。之后,您可以按 F5 重新加载页面。您将看到重新加载的页面看起来与重新加载之前完全一样,因为它会保存然后恢复localStorage 内部的状态。您可以基于相同的想法实现简化的实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 2020-10-30
    • 2018-05-13
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多