2010-11-29 41 views
8

新しい行を追加するときに編集可能にしたい列のjQGridがあります。jQGrid、追加ダイアログで列を編集できるようにする方法(インライン編集時)

編集と追加の両方がダイアログで行われているが、インライン編集でこれを行う方法がある場合、これを行う方法の例を見てきましたか?

beforeShowForm:でgrid.setColProp()を使用しようとしましたが、これは機能しません(列は読み込み専用のままで、追加ダイアログには表示されません)。ダイアログベースの列の

例は、有効/無効:
http://www.ok-soft-gmbh.com/jqGrid/CustomFormEdit.htm

答えて

18

あなたは私はあなたの質問にも答える必要があることを感じて私の古い答え(thisthis)からの例を使用しているため。

old exampleには、追加または編集ダイアログで変更できるすべてのフィールドに、プロパティeditable:trueがあります。 [追加]ダイアログボックスにのみ表示されるフィールドは、beforeShowFormイベントハンドル内に隠されます。同様に、我々はeditable:false一時的スイッチいくつかのフィールドeditRowメソッドの呼び出しの前に、すぐに呼び出した後、バックeditable:trueにリセットすることができます。

onSelectRow: function(id) { 
    if (id && id !== lastSel) { 
     grid.jqGrid('restoreRow',lastSel); 
     var cm = grid.jqGrid('getColProp','Name'); 
     cm.editable = false; 
     grid.jqGrid('editRow', id, true, null, null, 'clientArray'); 
     cm.editable = true; 
     lastSel = id; 
    } 
} 

あなたはこのライブhereを見ることができます。

更新:Free jqGridコールバック関数としてeditableを定義することができます。 the wiki articleを参照してください。行によっては列を編集可能にし、他の行では編集できないようにすることができます。

+0

あなたのお手伝いをしていただきありがとうございますOleg! – David

+0

@ user524257:ようこそ! – Oleg

+0

素晴らしい! jQGridでブログ記事、出版物、または他のスタック回答をお持ちですか? –

関連する問題