我们可以在jqgrid中编辑冻结列吗

我们可以在jqgrid中编辑冻结列吗,jqgrid,jqgrid-asp.net,Jqgrid,Jqgrid Asp.net,我有一个带内联编辑的jqgrid和几个冻结列。我收集了一些关于如何使这项工作的信息。链接中的答案有一个冻结的多选列。 但我想知道的是,是否有任何方法或解决方法可以在内联编辑中编辑冻结的列 我一直在想这个问题,现在终于想出了适合我情况的办法。希望你能做类似的事情 我创建了在单击编辑按钮时调用的以下函数: var editRow = function(rowId) { $('#' + gridId).editRow(rowId); $('#' + gridId + '_frozen'

我有一个带内联编辑的jqgrid和几个冻结列。我收集了一些关于如何使这项工作的信息。链接中的答案有一个冻结的多选列。
但我想知道的是,是否有任何方法或解决方法可以在内联编辑中编辑冻结的列

我一直在想这个问题,现在终于想出了适合我情况的办法。希望你能做类似的事情

我创建了在单击编辑按钮时调用的以下函数:

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 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);
};
此代码将从冻结的单元格中获取值,并将其复制到基础隐藏单元格,即保存时提交其值的单元格

我还有一个cancel选项,它调用以下方法:

var cancelRow = function(rowId) {
    $('#' + gridId).restoreRow(rowId);
    $('#' + gridId + '_frozen').restoreRow(rowId);
};
更新: 我发现这个解决方案只适用于IE8,而不适用于Chrome或Firefox。我正在开发的web应用程序只需要与IE8兼容,但我也会尝试为其他浏览器找到解决方案