在Hover SlickGrid行上显示工具提示

时间:2012-06-15 15:42:55

标签: jquery .net tooltip title slickgrid

我和jquery的新手。

我有一个任务是在一个slickgrid的每一行上放一个工具提示。 我知道怎么做它。但是,阅读slickgrid文档时,“hover”或“tooltip”等选项中没有任何内容。

我的电话就是这样:

var grid = new gridd.Grid("#ite", result,
                [{ id: "var1", field: "var1" },
                    { id: "var2", field: "var2" },
                    { id: "var3", field: "var3", width: 100, resizable: false },
                    { id: "var4",  field: "var4", width: 110, resizable: false}],
                { forceFitColumns: true },
                //I thought of something like
                { onHover: function.. },
                //
                { onClick: function (e, row, cell) {
                    var result = this.getData();

                    postSomething(result[row]);
                }
            });

1 个答案:

答案 0 :(得分:5)

获取信息的一个选项是订阅网格的事件onMouseEnteronMouseLeave。您可以使用任何工具提示库,您希望文本跟随鼠标。

使用该事件来发现您所在的单元格。我使用数据视图,因此需要使用view.getItem以防过滤任何行。如果您只是在不过滤的情况下显示数据,我相信data[cell.row]会起作用,但您需要进行测试。

这只会让您获得放在工具提示中的信息,您需要使用this之类的东西在鼠标后的工具提示中获取它。对于我的测试,我刚刚更新了一个标签(id = boringLabel)并且标签更新正确。

var grid = new Slick.Grid(selector, view, cols, opts);

....

grid.onMouseLeave.subscribe(function(e, args) {
    $("#boringLabel").text("NONE");
});

grid.onMouseEnter.subscribe(function(e, args) {
    var cell = args.grid.getCellFromEvent(e);
    var item = view.getItem(cell.row);
    $("#boringLabel").text(item.id + " " + item.description);
});