2011-11-10 33 views
1

jqGridテーブルの読み込み中にエラーが発生したときに警告を出したいと思います。 jsonReaderがうまく設定されていないとき、例えば、repeatitemsが真の代わりに、偽のときのように、UはFirebugの中でエラーを見ることができます:jqGridエラーメッセージによる警告

ccur is undefined 
[Break On This Error] idr = ccur[idn] || idr; 

私は警告で、このようなエラーを配置することができますどのように?私はすでにloadErrorを使ってみましたが、それは起動されていないので動作しません。

答えて

3

あなただけでjqGridコードの上にtry - catchブロックを使用する必要があることを私のためのようだ:更新

try { 
    // create the grid 
    $("#list").jqGrid({ 
     // all jqGrid options 
    }); 
} catch (err) { 
    // display the error message which you want 
    alert(err); 
} 

:あなたは、私が唯一のローカルデータを読み込むとIEでの作業の前に説明したtry {...} catch (err) {...}正しいです。サーバからデータを取得する場合、例外はsuccessコールバック$.ajaxの内部で発生します。正確にはaddJSONDataまたはaddXmlDataの内部で行われるのは、使用するデータの種類に依存します。例外をキャッチするには、jqGridのコードをthe placeに変更する必要があります。修正されたコードは、私がthe demoにエラーメッセージを表示jquery.jqGrid.src.jsの対応する修飾されたバージョンをテストし、以下

success:function(data,st, xhr) { 
    if ($.isFunction(ts.p.beforeProcessing)) { 
      ts.p.beforeProcessing.call(ts, data, st, xhr); 
    } 
    try { 
     if(dt === "xml") { addXmlData(data,ts.grid.bDiv,rcnt,npage>1,adjust); } 
     else { addJSONData(data,ts.grid.bDiv,rcnt,npage>1,adjust); } 
     if(lc) { lc.call(ts,data); } 
     if (pvis) { ts.grid.populateVisible(); } 
    } catch (err) { 
     alert(err); 
    } 
    if(ts.p.loadonce || ts.p.treeGrid) {ts.p.datatype = "local";} 
    data=null; 
    if (npage === 1) { endReq(); } 
} 

についてことができます。あなたが記述したエラーを正確に再現しないので、エラーメッセージはあなたの場合のようにもう少しです。

変更されたjquery.jqGrid.src.jsファイルの最小化バージョンが必要な場合は、JavaScriptミニマイザで直接作成することができます。たとえば、Microsoft Ajax Minifierは無料でダウンロードしてインストールできます。

ajaxmin.exe jquery.jqGrid.src.js -out jquery.jqGrid.min.js 

などの使用は、元jquery.jqGrid.min.jsとしても少し小さくなるjquery.jqGrid.src.jsの新しい最小化バージョンを生成します。

もう1つの良いミニマイザはオンラインhereで利用できます。 「シンプル」最適化のみを使用してください。

+0

私はすでにそれを試みており、うまくいきませんでした。誰かが私に、jqgridコードは既に大きな試合をしているので、私は自分がしたいことをする機会がないからです。私はそれを確信していないので、私は質問を掲載しています。 – user998692

+0

@ user998692:そうです。私は自分の答えを変更しました。 – Oleg

+0

ありがとうございます。 – user998692