2

jqueryの初心者です。

スリックグリッドの各行にツールチップを配置するタスクがあります。私はそれをajaxする方法を知っています。しかし、slickgridのドキュメントを読むと、「ホバー」や「ツールチップ」などのオプションには何もありません。

私の電話はそのようなものです:

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]);
                }
            });
4

1 に答える 1

6

情報を取得する1つのオプションは、グリッドのイベントonMouseEnterとをサブスクライブすることonMouseLeaveです。テキストをマウスに追従させたいツールチップライブラリを使用できます。

イベントを使用して、上にあるセルを見つけます。view.getItem私はデータビューを使用しているので、行がフィルターで除外された場合に使用する必要があります。フィルタリングせずに単にデータを表示している場合は、data[cell.row]代わりに機能すると思いますが、テストする必要があります。

これにより、ツールチップに入力する情報のみが取得されます。マウスに続くツールチップに入力するには、このようなものを使用する必要があります。私のテストでは、ラベル(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);
});
于 2012-06-16T17:02:12.040 に答える