2013-06-21 43 views
1

我知道我可以通過使用Ext.Util.Format類格式化一個ExtJS網格的列。 我想知道如何申請格式如下類型:格式ExtJS的格列

  1. 顯示爲一些百分號不那麼如果該值爲10.34它應該顯示10.34%,目前1034%乘以100吧。
  2. 如果數字爲負它應該在紅色insde括號顯示。因此-23應該以紅色顯示爲(23)。

謝謝

回答

0

你可以很容易地實現對列的renderer,轉變的結果,但是你會喜歡。您所要做的就是從渲染器中返回已轉換的字符串;再加上,您可以訪問完整的Ext.data.Record網格行(以及商店,對於這個問題),所以你也可以很容易做到的定製效果圖基礎上,記錄中的其他數據,如果需要的話。

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 
    } 

感謝,希望這將幫助你......

2

我本來希望有更多的細節:

  • 你想既渲染應用到單個列?
  • 你能提供你已經嘗試(存儲/模型綁定到網格面板,原始數據喂商店,柱結構(S))的簡明代碼示例?

無論如何,我可以試試看(你應該首先read the doc)。

呈現器1:

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

渲染器2:

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

Frankenstein的妖怪:

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