我在我的网格(jqGrid 4.5.2)中使用表单编辑和内联编辑。当我有一个可编辑的列然后打开表单时,我确实看到了 HTML 代码而不是值。屏幕截图显示了我的意思。
如果相应行中没有可编辑的字段,则一切正常。我在什么地方读过,我不会Form
和和Inline editing
一起使用,只是模糊地记得。然而,实际上一切都很好,除了在这种特殊情况下。
我可以在创建Form Editing
显示之前将整行重置为只读(文本)吗?还有其他解决方案吗?
-- 编辑 1:奥列格的回答 ---
我已经检查/调试function restoreInline()
并注意到两件事:
- 我没有连续的行 id,而是像 1,2,4,9 (我的数据库主键)。它们是独一无二的,但中间缺少一些数字。结果,条件
if ($t.p.savedRow[i].id == rowid)
不满足,restoreRow
根本不调用。我的身份证不能有这样的空白吗?以前从来没有注意到这个问题。 - 我对第一行和 id "1" 进行了交叉检查。在这种情况下
$($t).jqGrid('restoreRow',rowid)
被调用,但我仍然在我的字段中看到“HTML 代码”。
-- 编辑 2 --
已明确调用beforeShowFormjqGrid('restoreRow',rowid)
,但没有成功。