Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在多个网格上使用通用格式化程序?_Javascript_Jquery_Jquery Ui_Grid_Slickgrid - Fatal编程技术网

Javascript 如何在多个网格上使用通用格式化程序?

Javascript 如何在多个网格上使用通用格式化程序?,javascript,jquery,jquery-ui,grid,slickgrid,Javascript,Jquery,Jquery Ui,Grid,Slickgrid,我正在使用SlickGrid开发一个web应用程序 我们的应用程序在不同的选项卡/页面中有许多网格,因此我想知道是否可以重构一些代码,这样我就不会为单独的网格反复编写相同的函数 例如: 我需要一个自定义格式化程序,因为我们有多个树网格(实现树结构的格式化程序对于每个网格都是相同的): 函数PercentCompleteFormatter(行、单元格、值、列定义、数据上下文) 考虑到我不能将网格或数据视图作为参数传递(假设上面的签名必须用于所有自定义格式化程序),我基本上必须在创建网格的每个代码块

我正在使用SlickGrid开发一个web应用程序

我们的应用程序在不同的选项卡/页面中有许多网格,因此我想知道是否可以重构一些代码,这样我就不会为单独的网格反复编写相同的函数

例如: 我需要一个自定义格式化程序,因为我们有多个树网格(实现树结构的格式化程序对于每个网格都是相同的): 函数PercentCompleteFormatter(行、单元格、值、列定义、数据上下文)

考虑到我不能将网格或数据视图作为参数传递(假设上面的签名必须用于所有自定义格式化程序),我基本上必须在创建网格的每个代码块中使用相同的格式化程序代码

是否有一种方法可以创建一个“通用”格式化程序并将其应用于所有网格

同样的问题也适用于排序、过滤等。。。但我希望上面的解释涵盖了我想问的问题


谢谢

可以使用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);

可以使用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);

非常感谢你,这对我来说非常有效!(为没有投票表示歉意,因为我的代表还不够高,所以我的网站还不允许投票。)非常感谢,这对我来说非常有效!(很抱歉没有投票,这是新网站,所以我的代表还不够高,还不能允许。)