2011-12-14 10 views
0

ドキュメントを読んでもう一度グーグルで、beforeSumitCellイベントのディスパッチに成功しなかったので、私はここに質問を投稿することに決めました。ここで私のグリッドの定義は次のとおりです。JqGridはbeforeSubmitCellをディスパッチしませんか?

$(this).jqGrid({ 
    url:dataUrl, 
    datatype: "json", 
    colNames:['Semana', 'Fecha', 'Precio D', 'Precio E'], 
    colModel:[{name:'week',index:'index1', editable:false,width:100}, 
      {name:'date',index:'index2', editable:false, width:90}, 
      {name:'priceD',index:'index3', editable:true, width:90}, 
      {name:'priceE',index:'index4', editable:false, width:90}], 
    rowNum:53, 
    autowidth: true, 
    rowList:[53], 
    pager: jQuery('#pager1'), 
    sortname: 'id', 
    viewrecords: true, 
    sortorder: "desc", 
    editurl:"clientArray", 
    onSelectRow: function (id) 
    { 
     if(id && id!==lastJQGridSel) 
     { 
      $(this).jqGrid('restoreRow',lastJQGridSel); 
      $(this).jqGrid('editRow',id,true); 
      lastJQGridSel=id; 
     } 
    }, 
    beforeSubmitCell : function(rowid, name,val,iRow,iCol) 

    { 
     alert("beforeSubmitCell called"); 
    }, 
    caption:"Modality prices" 
}); 

なぜそれが発射していないのでしょうか?イベント呼び出しスタックは、このイベントをcellSubmit設定の 'clientArray'で使用できることを示しています。編集可能フラグがtrueに設定されているセルに対してのみ起動します。私の場合はpriceDです。

evnetを起動させるには、priceD列のセル​​をクリックして値を入力し、Enterキーを押します。

ありがとうございます。

答えて

1

jqGridは、インライン編集、フォーム編集、セル編集の3つのediting modesをサポートしています。インライン編集の一部であるeditRowを使用するので、セル編集の一部であるコールバック関数beforeSubmitCellを呼び出さないようにします。

+0

洞察力に感謝します。私は、editRowコマンドが "保存後"のコールバックを持っていることに気付かなかった。ありがとう。 – Notbad

+0

@ノットバッド:ようこそ! – Oleg