我有一个内联编辑的jqgrid和很少的冻结列。我从here收集了一些关于如何完成这项工作的信息。链接中的答案有一个多选的冻结列。 但我想知道的是,如果在内联编辑中编辑冻结列有任何方法或解决方法。
答案 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兼容,但我也会尝试为其他浏览器找到解决方案。