我们可以编辑jqgrid中的冻结列

时间:2013-05-02 15:35:39

标签: jqgrid jqgrid-asp.net

我有一个内联编辑的jqgrid和很少的冻结列。我从here收集了一些关于如何完成这项工作的信息。链接中的答案有一个多选的冻结列。 但我想知道的是,如果在内联编辑中编辑冻结列有任何方法或解决方法。

1 个答案:

答案 0 :(得分:0)

我一直试图想出这个问题一段时间,并且最终能够找到适合我情况的东西。希望你能做类似的事情。

单击编辑按钮时,我创建了以下函数:

var editRow = function(rowId) {
    $('#' + gridId).editRow(rowId);
    $('#' + gridId + '_frozen').editRow(rowId);
};

这将使冻结列显示为对用户可编辑。

我在点击保存按钮时创建了以下函数:

var saveRow = function(rowId) {
    $('#' + gridId + '_frozen' + ' #' + rowId + ' > td').each(function () {
        var col = $(this).attr('aria-describedby');
        $('#' + gridId + ' #' + rowId + ' > td[aria-describedby="' + col + '"]')
                .children(':first')
                .val($(this).children(':first').val());
    });
    $('#' + gridId).saveRow(rowId);
};

此代码将从冻结单元格中获取值,并将其复制到基础隐藏单元格 - 这是在保存时提交其值的单元格。

我还有取消选项,该选项调用以下方法:

var cancelRow = function(rowId) {
    $('#' + gridId).restoreRow(rowId);
    $('#' + gridId + '_frozen').restoreRow(rowId);
};

<强>更新 我发现此解决方案仅适用于IE(8),而不适用于Chrome或Firefox。我正在处理的Web应用程序只需要与IE8兼容,但我也会尝试为其他浏览器找到解决方案。

相关问题