【问题标题】:jqgrid subgrid shows old data even when rowdata is updatedjqgrid subgrid 即使在更新行数据时也显示旧数据
【发布时间】:2015-04-22 09:35:57
【问题描述】:

我已经为我的数据实现了带有子网格的 jqgrid。我自定义实现了编辑行和保存新数据的功能,在保存数据时,我还将新数据更新到我的数据库中。成功保存后,我使用"setRowData" 函数在行上设置新数据。它可以工作,但是当我关闭 subgrid 并再次展开时,网格会显示旧数据。 谁能给我解决方案

我的代码是

 $.ajax({
        url: DomainName + "Report/UpdateClockInOutTime",
        type: "get",
        data: { ClockId: ClockId, ClockInTime: ClockInTime, ClockOutTime: ClockOutTime },
        success: function (result) {
            if (result == "True") {        
                var rowId = nRow.attr('id');
                var rowData = $("#" + TableId).jqGrid('getRowData', rowId);
                rowData.Working_Hr = diff;
                rowData.ClockIn = ClockInTime;
                rowData.ClockOut = ClockOutTime;
                rowData.edit = '<a href="#modal-3" id="hrfEditClockInOut_timestamp" class="btn" role="button" data-toggle="modal"><i class="icon-edit"></i></a>';

               $("#" + TableId).jqGrid('setRowData', rowId, rowData);                                              
            }
            else {
                alert("Time not updated")
            }

        }
    })

【问题讨论】:

  • 您没有发布任何代码来显示您如何创建 jqGrid 和 subgrid。您发布的代码几乎没有提供任何有助于解决您的主要问题的信息。此外,我绝对不清楚为什么不使用 jqGrid 的标准编辑功能,如内联编辑或表单编辑。它会自动将更改发送到服务器(发送到 jqGrid 的editurl 参数)并更新本地数据。您不需要向服务器发出任何单独的 Ajax 请求。

标签: jquery jqgrid jqgrid-asp.net


【解决方案1】:

尝试使用 - 刷新 jqGrid

("#" + TableId).trigger('reloadGrid');

【讨论】:

  • 我已经这样做了。但再次展开子网格时不起作用
  • 如果您使用的是 subgrid,您可能没有使用正确的 id,试试这个 -
  • var thegrid = $("#" + subGridID + "_t").
  • 我得到了正确的子网格 ID。为此我做
  • var nRow = $(this).closest("td").closest("tr"); var TableId = nRow.closest('table').attr('id');
猜你喜欢
  • 2014-12-12
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多