0

ページ上の私のグリッドでは、すべてのグリッドでインライン編集を無効にするだけでなく、モーダルフォームからのみ編集できるようにする必要があります。

ただし、編集可能:falseにすると、インライン編集は防止されますが、フォームを介した編集も防止されます(フォームに列は表示されず、[送信]ボタンと[キャンセル]ボタンのみ)

この動作をどのように実行できますか?または、現在のバージョン(3.5.2)では不可能ですか

また、beforeFormShowおよびonInitializeFormイベントハンドラー内で(colModel宣言でオフにした後)編集可能(:true)を有効にしようとしましたが、編集フォームまたは追加フォームのいずれにも列が表示されません。

あなたが提供する洞察に感謝します...

これが私がしていることです-

           var addprm = { 
                     width: 450, 
                     height: 200,
                     top: 125, 
                     left: 50, 
                     beforeShowForm: function(formId) {
                         id= jQuery('#list10').getGridParam('selrow');
                         alert('From AddPrm: formId=' + formId + " id=" + id);
                         var ret = jQuery('#table').getRowData(id);
                         jQuery('#list10').setColProp('tr_a_name',{editable:true});
                         jQuery('#list10').setColProp('tr_a_desc',{editable:true});
                         jQuery('#list10').setColProp('tr_a_comments',{editable:true});
                     },  
                     reloadAfterSubmit:true, 
                     closeAfterAdd:true
             };

そして、editprmオブジェクトの場合と同様に、tr_プレフィックスを付けて(colModelのように)付けないでください。

4

1 に答える 1

1

onSelectRowメソッドをオーバーライドして、row_edit応答をトリガーせず、モデル応答を強制することができると思います。そのようです:

jQuery("#grid_id").jqGrid({
  ....init stuff.....
  onSelectRow: function(id){
     jQuery("#grid_id").editGridRow( id, properties );
  }
  .....other stuff......
 })
于 2009-12-30T02:25:11.250 に答える