グリッド (jqGrid 4.5.2) でフォーム編集とインライン編集を使用しています。編集可能な列を作成してフォームを開くと、値の代わりに HTML コードが表示されます。スクリーンショットは、私が何を意味するかを示しています。
対応する行で編集可能なフィールドがない場合は、すべて問題ありません。どこかで読んだことがありますがForm
、andはInline editing
一緒に使用しませんが、漠然としか覚えていません。ただし、実際には、この特定の状況を除いて、すべて正常に機能しています。
Form Editing
ディスプレイを作成する前に、行全体を読み取り専用 (テキスト) にリセットできますか? 他の解決策はありますか?
-- 編集 1: オレグの答え ---
チェック/デバッグしてfunction restoreInline()
、次の 2 つのことに気付きました。
- 連続した行 ID はありませんが、1,2,4,9 (DB の主キー) のようなものです。それらは一意ですが、いくつかの数字が間にありません。その結果、条件
if ($t.p.savedRow[i].id == rowid)
が満たされrestoreRow
ず、まったく呼び出されません。IDにそのようなギャップを設けることはできませんか? これまでに問題に気づいたことはありません。 - 最初の行とID「1」でクロスチェックを行いました。この場合
$($t).jqGrid('restoreRow',rowid)
は呼び出されますが、フィールドに「HTML コード」がまだ表示されます。
-- 編集 2 --
beforeShowFormで明示的に呼び出しjqGrid('restoreRow',rowid)
ましたが、成功しませんでした。