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