2012-03-27 14 views
1

私は、次のフィールドを持っているAA GridPanelを持っている:EXTJS GridPanelと列データのデフォルト

名前IDアドレスHome_Phoneセル

店に戻っていくつかのレコードはこれらのフィールドのいくつかのために任意のデータを持っていない可能性があり、むしろグリッドにそのレコードの空の列を表示します。デフォルト値 "N/A"を表示したいと思います。むしろ、その後

だから私は

名前IDアドレスHome_Phoneセルを持っているでしょう ショーン2マイアドレスN/AN/A

名前IDアドレスHome_Phoneセル ショーン2マイアドレス

私はこれを行う2つの方法を知っています:

1)バックエンドでフィールドが存在しないJSONのその列に「該当なし」を返します。 2)レコードに値 "N/A"が含まれていないかどうかをチェックするメソッドを使用してテンプレートを作成します。

私の質問は、レコードに値が見つからない場合は、グリッド列に簡単な方法が表示されますか?既定の「該当なし」ですか?

答えて

5

列にレンダラーを追加できます。各列にレンダラーを追加するか、この動作の列がさらにある場合は独自の列を定義できます。

//は

{ 
    renderer: function(value){ 
     if (Ext.isEmpty(value)) { 
      return 'N\\A'; 
     } 
     return value; 
    } 
} 

(NULL値と空の文字列のために働く)、各列の設定のためにこれを追加または列を拡張し、アプリケーション全体でそれを使用するコンポーネントにレンダラを追加します。 バックエンドを変更するのではなく、フロントエンドでこれを行う方が簡単ですし、 'N \ A'のような余分な不要なデータを送信しました。

希望です。

+0

あなたの条件の中で閉じ中かっこ ')'が見つかりませんでした: 'if(Ext.isEmpty(value){'また、スラッシュをこのようにエスケープする必要があります: 'N \\ A'' – RomanPerekhrest

+0

このコメントの代わりにこの4年前の回答を編集するのに役立ちましたか? – nscrob

+0

あなたの答えは最良の答えとして受け入れられました - それを適切な形式に導きます(私がこのような間違いを犯した場合、 – RomanPerekhrest