【问题标题】:Is there a way to dynamically change the class of a single header in slick-grid 1.4.3?有没有办法在 slick-grid 1.4.3 中动态更改单个标题的类?
【发布时间】:2012-02-28 20:39:29
【问题描述】:

我注意到最新版本的 slick-grid 在列上有一个 'headerCssClass' 属性,效果很好,但我只能使用 slick-grid 版本 1.4.3。

我正在扩展 slick-grid 以添加多列排序功能,并且需要相应地设置每个排序标题的类。那么,重申一下这个问题,有没有人知道在 slick-grid 1.4.3 中动态更改任何给定标题的类的方法?

【问题讨论】:

    标签: header slickgrid


    【解决方案1】:

    我不太喜欢这个解决方案,因为不喜欢使用 JQuery 来修改 slick-grid,但这里是:

    var headers = $('.slick-header-columns').get(0).children;
    

    从所有标题中删除任何非默认类信息(即$(headers).removeClass('slick-header-column-sorted')

    遍历 slick-grid 的列并使用 JQuery 在所需列索引处添加一个类

    var header = headers[wantedColIdx];
    $(header).addClass('yourClass');
    

    【讨论】:

      【解决方案2】:

      我认为你可以用 jQuery 做到这一点。

      添加一个具有某些名称的空白 css 类。

      然后就可以调用 addClass 和 removeClass 来动态改变类了。

      http://api.jquery.com/addClass/

      http://api.jquery.com/removeClass/

      jQuery('.my-class').addClass('new-header-class');
      

      【讨论】:

      • 是的,我曾想过这样做,但我认为我可以访问正确的标题单元格以更改其类的唯一方法是为 slick-grid 定义一个 onClick() 函数并覆盖如果单元格恰好是标题单元格,它当前正在做什么 - 这可能会起作用,除非它似乎暗示可能存在未知问题。
      • 此外,如果单元格不代表实际项目,似乎不会触发“onClick”事件(因此不适用于标题单元格)。
      • 你可以从任何地方调用它,它不需要点击,只要你有“我的班级”或任何你关心的东西。
      猜你喜欢
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      • 1970-01-01
      • 2018-02-24
      • 1970-01-01
      相关资源
      最近更新 更多