2011-07-18 56 views
1

何らかの理由で(私には不明)、イベント 'formatCell'は起動しません(警告メッセージは表示されません)。以下のコードを参照してください。jqGrid formatCellイベントが起動しない

$("#jqgrid").jqGrid({ 
      datatype: "json", 

      colNames: ['CurrecncyID', 'Currency', 'Value', 'Calculated', 'Value', '%', 'Calculated'], 
      colModel: [ 
         { name: 'CurrecncyID', index: 'CurrecncyID', hidden: true, width: 40 }, 
         { name: 'CurrencyName', index: 'CurrencyName', width: 150 }, 
         { name: 'FullPrice', index: 'FullPrice', width: 100, editrules: { custom: true, custom_func: priceCheck }, editable: true, align: 'right', formatter: priceFormatter }, 
         { name: 'CalcFullPrice', index: 'CalcFullPrice', width: 100, align: 'right', formatter: priceFormatter }, 
         { name: 'ActualPrice', index: 'ActualPrice', width: 100, editrules: { custom: true, custom_func: priceCheck }, editable: true, align: 'right', formatter: priceFormatter }, 
         { name: 'Precent', index: 'Precent', width: 100, align: 'right', formatter: 'integer', formatoptions: { prefix: "% "} }, 
         { name: 'CalcActualPrice', index: 'CalcActualPrice', width: 100, align: 'right', formatter: priceFormatter }, 
        ], 
      onSelectRow: function (id) { 
       if (id && id !== lastsel) { 
        jQuery('#jqgrid').restoreRow(lastsel); 
        jQuery('#jqgrid').editRow(id, true); 
        lastsel = id; 
       } 
      }, 
      formatCell: function (rowid, cellname, value, iRow, iCol) { 
       alert("before edit"); 
      }, 
      jsonReader: { 
       repeatitems: false 
      }, 
      rowNum: 20, 
      rowList: [10, 20, 30], 
      pager: '#jqpager', 
      sortname: 'CurrecncyID', 
      viewrecords: true, 
      sortorder: "desc", 
      caption: "Prices List", 
      autowidth: true, 
      height: "100%", 
      loadtext: "Loading...", 
      editurl: "/handlers/myurl.ashx" 
     });` 
+0

CurrecncyIDのスペルが間違っています。また、問題の詳細については、javascriptデバッガを使用する必要があります。 –

+0

FirefoxのFirebugなどのデバッガを使って、このような問題を追跡することができます。 –

+0

ありがとうございますが、それではありません。データソースにもスペルミスがあります:) – Red

答えて

1

jqGridには、3つのメインediting modesが使用されています。 formatCellイベントは、cell editing modeの一部です。 editRowとrestoreRowの使用がinline editing modeの一部である場合、それは起動しません。おそらく、インライン編集モードを使用する場合は、custom editable elementを使用する必要があります。

+0

ありがとうオレグ私はそれを確認します。 – Red

関連する問題