【问题标题】:Slickgrid custom cell titlesSlickgrid 自定义单元格标题
【发布时间】:2014-05-08 13:14:48
【问题描述】:

我使用缩短的枚举作为单元格值,但我想在使用单元格标题的工具提示中显示枚举的描述。这就是为什么我需要编辑单元格的标题。

我找不到任何方法来使用 Slickgrid 访问单元格的 HTML 元素。单元格已经有一个标题,即它的列标题。我不记得把那些标题放在那里了,所以我猜是一些 Slickgrid 的东西。

我使用 JQuery 的工具提示插件来显示其他工具提示。

有没有办法编辑特定单元格的标题?

【问题讨论】:

  • 对我的回答有任何反馈吗?
  • 我设法做到了。我将在下周日或周一发布我的答案并给你反馈。

标签: javascript jquery slickgrid


【解决方案1】:

您可以通过以下方式获取单元格的 HTML 元素:

grid.getCellNode(rowIndex, cellIndex)

然后您可以编辑单元格的标题:

grid.getCellNode(rowIndex, cellIndex).title = "foo"

如果你使用 jQuery,你也可以这样做:

$(grid.getCellNode(rowIndex, cellIndex)).attr("title", "foo")

如果您使用的是 SlickGrid 的 AutoToolTip 插件,则无法编辑单元格的标题,因为 AutoToolTip 插件总是在悬停单元格时覆盖标题。

【讨论】:

    【解决方案2】:

    尝试以下方法:

    $("#myGrid .slick-cell").each(function(item){
        $(this).attr('title',generateTooltip($(this).text()));                 
        $(this).tooltip();
    });
    
    function generateTooltip(value){
        //return appropriate description based on the enum that is stored in 'value'
    }
    

    希望这会有所帮助!

    【讨论】:

    • 通过 jQuery 访问单元格并不是一个好主意,因为 SlickGrid 提供了一种获取特定单元格的 HTML 元素的方法(请参阅下面的帖子)。你也可以只给悬停在上面的单元格赋予标题,而不是循环遍历所有单元格。