use*_*920 0 javascript grid jquery jquery-ui slickgrid
我正在使用SlickGrid开发一个Web应用程序.
我们的应用程序在不同的选项卡/页面中有许多网格,因此我想知道我是否可以重构一些代码,以便我不会一遍又一遍地为单独的网格编写相同的函数.
示例:我需要一个自定义格式化程序,因为我们有多个树网格(实现树结构的格式化程序对于每个网格都是相同的.):function PercentCompleteFormatter(row,cell,value,columnDef,dataContext)
鉴于我不能将网格或数据视图作为争论传递(假设上面的签名必须用于所有自定义格式化程序.),我基本上必须在每个代码块中都有相同的格式化程序代码,我在创建网格.
有没有办法可以创建一个"通用"格式化程序并将其应用于所有网格?
同样的问题适用于排序,过滤等等......但我希望上面的解释涵盖了我想要问的内容.
谢谢!
您可以使用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);
Run Code Online (Sandbox Code Playgroud)