2012-05-11 35 views
0

我正在開發一個使用SlickGrid的Web應用程序。如何在多個SlickGrid上使用通用格式化程序?

我們的應用程序在不同的標籤/頁面中有很多網格,因此我想知道是否可以重構一些代碼,這樣我就不會一遍又一遍地爲單獨的網格編寫相同的函數。

一個例子: 我需要自定義格式,因爲我們有多個樹網格(實施樹結構的格式化爲每個網格相同的。): 函數PercentCompleteFormatter(行,單元格,值,columnDef,DataContext的)

鑑於我無法將網格或數據視圖作爲參數傳遞(假設上面的簽名必須用於所有自定義格式化程序),我基本上必須在每個代碼塊內創建網格的格式化程序代碼相同。

有沒有一種方法可以創建一個「通用」格式化程序並將其應用於所有網格?

同樣的問題適用於諸如排序,過濾等等......但我希望上面的解釋涵蓋了我想要問的東西。

謝謝!

回答

5

您可以使用jQuery的.proxy()助手(或類似的)將函數綁定到特定的上下文。

例如:

function MyFormatter(row, cell, value) { 
    var grid = this; // the grid will be the executing scope 
    // ... 
} 

var myFormatterForGridA = $.proxy(MyFormatter, gridA); 
var myFormatterForGridB = $.proxy(MyFormatter, gridB); 
+1

太感謝你了,完美的作品對我來說! (對於不投票的道歉,對網站來說是新的,所以我的代表還不夠高,不允許它。) – user1389920

相關問題