从它的实例中获取光滑网格的id

Get the id of the slickgrid from its instance

本文关键字:网格 id 实例 获取      更新时间:2023-09-26

我想使用实例变量获得一个slickgrid实例的id(任何代表唯一实例的值都可以)。

我发现最好的是解析uid到dom元素:

var sg = new Slick.Grid(...)
var classes = pg.mainGrid.getCanvasNode().parentNode.parentNode.classList
for (var i=i, len=classes.length; i<len; i++) {
  if (classes[i].contains('slickgrid')){
    var id = classes[i]
    break;
  }
}

这显然是愚蠢的。有人找到更好的方法了吗?

我认为最好的答案可能是将该方法添加到SlickGrid中。下面是commit:

https://github.com/SimpleAsCouldBe/SlickGrid/commit/bc1342c25a81a7adbe6d52a9ece79ad716307a07

    +    // A simple way to expose the uid to consumers, who might care which slickgrid instance they're dealing with.
    +    function getId() {
    +      return uid;
    +    }
    ...
    +    "getId": getId,