触发OnChangeCell事件

时间:2012-02-16 15:46:50

标签: slickgrid

我正在使用SlickGrid的示例7的变体,它允许在双击单元格时从列表中选择值。但是,此方法不会触发onCellChange事件,并且我没有捕获对数据的所有更改。以下是代码示例。

grid.onDblClick.subscribe(function (e) {
    e.preventDefault();
    var cell = grid.getCellFromEvent(e);
    if (grid.getColumns()[cell.cell].id != "classID") {return};
    $("#contextMenu")
        .data("row", cell.row)
        .css("top", e.pageY)
        .css("left", e.pageX)
        .show();

    $("body").one("click", function () {
        $("#contextMenu").hide();
    });

    $("#contextMenu").click(function (e) {
        if (!$(e.target).is("li")) {return};
        var row = $(this).data("row");
    data[row].classID = $(e.target).attr("data");  //< data saved to grid here
    grid.updateRow(row);
    });
});

有关如何触发onCellChange函数的任何消息?

1 个答案:

答案 0 :(得分:1)

也不应该。

考虑一下 - 如果用户从网格中启动操作,网格将触发该事件。你怎么知道你在外部/程序上改变了什么?

只需将您对change事件的处理移动到一个单独的函数中,并从onCellChange处理程序和直接更新数据的位置调用它。