1

Ext.Util.Formatクラスを使用して、ExtJs グリッドの列をフォーマットできることを知っています。次のフォーマット タイプを適用する方法を知りたいです。

  1. 数値に 100 を掛けずにパーセント記号を表示します。したがって、値が 10.34 の場合、10.34% と表示され、現在は 1034% と表示されます。
  2. 数値が負の場合は、括弧内に赤い色で表示されます。したがって、-23 は (23) のように赤色で表示されます。

ありがとうございました

4

3 に答える 3

2

私はいくつかの詳細を知りたいと思っていました:

  • 両方のレンダリングを 1 つの列に適用しますか?
  • 既に試したことの簡潔なコード サンプルを提供していただけますか (グリッド パネルにバインドされたストア/モデル、ストアにフィードする生データ、列構成)。

とにかく、試してみることができます (最初にドキュメントを読む必要があります)。

レンダラー 1 :

renderer: function (value) {
    return value + '%';
}

レンダラー 2 :

renderer: function (value) {
    return value < 0 
        ? '<span style="color:red">(' + Math.abs(value) + ')</span>' 
        : value;
}

フランケンシュタインの怪物 :

renderer: function (value) {
    return value < 0 
        ? '<span style="color:red">(' + Math.abs(value) + '%)</span>' 
        : value + '%';
}
于 2013-06-22T15:02:37.770 に答える
1

はい、rendererコンセプトを通じて達成できます。クエリについては、以下のサンプルを参照してください。

  {
       text     : 'Number (Percentage)',
       width    : 80,
       sortable : true,
       renderer :  function(val) {
           if (val > 0) {
              return '<span style="color:green;">' + val + '</span>';
           } else if (val < 0) {
              return '<span style="color:red;">' + val + '</span>';
           }
           return val+"%";
       },
       dataIndex: 'numberChange' // place your dataindex binding here
    }

ありがとう、これがあなたを助けることを願っています...

于 2013-06-21T06:05:30.467 に答える