编程语言
首页 > 编程语言> > javascript – Slickgrid-获取选定的单元格值,id和字段?

javascript – Slickgrid-获取选定的单元格值,id和字段?

作者:互联网

我正在使用slickgrid,我在slickgrid中退出了新的东西.我想知道是否有任何功能,通过它我可以获得所有单元格的完整信息到用户将点击的特定行?我也希望在特定单元格中编辑之前和之后获取值,以便我可以测量单元格中的更改.
用于获取我正在使用的活动单元格(即用户单击的位置)

ifkaar_scenarioConfigTable.onClick.subscribe(cellClicked);

我正在检查单元格在哪里是我想要的单元格(即允许用户进行编辑/修改的位置),如下所示

function cellClicked(e) {
var cell = ifkaar_scenarioConfigTable.getCellFromEvent(e);
if (col[cell.cell].id == "orderqty") {
    console.log("orderqty pressed");
    }
}

这工作正常,即当我点击任何单元格时,它会判断它是否为“orderqty”,但是我想进一步获取其值和其他单元格的值以便计算更改.我搜索过但找不到任何明确的文章(或者我无法理解).任何帮助将受到高度赞赏.谢谢

解决方法:

onClick事件passes the row as an argument

获取单击行的数据项

function cellClicked(e, args) {
    var item = grid.getDataItem(args.row);
}

检查特定列中是否发生了单击

function cellClicked(e, args) {
    if (args.cell == grid.getColumnIndex('orderqty')) {
        console.log("orderqty pressed");
    }
}

您甚至可以将此过滤功能拉出到自己的函数中,并在该列中发生单击时传递回调

function forColumn(row, cell, columnID, fn) {
    var cellNode = grid.getCellNode(row, cell);
    var dataContext = grid.getDataItem(row);
    if (cellNode && grid.getColumns()[cell].id === columnID) {
        fn.call(this, cellNode, dataContext, row, cell);
    }
}
function cellClicked(e, args) {
    forColumn(args.row, args.cell, 'orderqty', function (cellNode, dataContext, row, cell) {
        console.log("orderqty pressed");
    });
}

编辑前后的值

要在编辑之前和之后获取单元格的值,您需要在编辑器中的isValueChanged函数中处理该列.

标签:javascript,slickgrid
来源: https://codeday.me/bug/20190714/1460053.html