【问题标题】:How can I use generic formatter on multiple SlickGrid s?如何在多个 SlickGrid 上使用通用格式化程序?
【发布时间】:2012-05-20 07:03:17
【问题描述】:

我正在使用 SlickGrid 开发一个网络应用程序。

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

一个例子: 我需要一个自定义格式化程序,因为我们有多个树网格(实现树结构的格式化程序对于每个网格都是相同的。): function PercentCompleteFormatter(row, cell, value, columnDef, dataContext)

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

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

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

谢谢!

【问题讨论】:

    标签: javascript jquery jquery-ui grid slickgrid


    【解决方案1】:

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

    【讨论】:

    • 非常感谢,这对我来说非常有用! (很抱歉没有投票,新网站所以我的代表还不够高,无法允许。)
    猜你喜欢
    • 2013-06-27
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 2017-08-03
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多