如何在SlickGrid中返回特定的单元格值?

对于我的生活,我似乎无法在SlickGrid中返回特定的单元格值。 这里有一个关于SO的例子。 但这也不起作用。 我使用SlickGrid教程#7作为我的例子。 我要做的就是将一个click事件添加到返回该单元格值的单元格中。

注意:我正在通过JSON请求加载我的数据,一切正常。 我的点击事件触发,但值未定义。 为简洁起见,我将省略我的网格列和选项代码。 这是代码和谢谢。 所有这一切都很棒。

var sortcol = "id"; var sortdir = -1; $(function () { $.getJSON(baseURL() + 'programs', function (data) { dataView = new Slick.Data.DataView(); grid = new Slick.Grid($("#program-grid"), data, programColumns, programOptions); grid.onSort = function (sortCol, sortAsc) { sortdir = sortAsc ? 1 : -1; sortcol = sortCol.field; if (sortAsc == true) { data.sort(compare); } else { data.reverse(compare); } grid.render(); }; grid.onClick = function (e, row, cell) { if (programColumns[cell].id == "id") { var x = data[row][cell].field;//This is where I am stuck window.location.href = "http://google.com/" + x; } } }); }); 

你几乎就在那里,你应该使用数据[row] .fieldname。 您的数据中是否有一个名为“field”的字段?

如果您使用的是dataView,那很简单:

 // Get the object containing row and cell index of a clicked row. var gridObject = roundGrid.getCellFromEvent(e); var row = gridObject.row; // get selected row index var row_values = roundDataView.getItem(row); // get the row object // Get the actual value. var cellValue = row_values[roundGrid.getColumns()[gridObject.cell].field]; 

绑定到onCellChange事件

 grid.onCellChange.subscribe( function( e, args ) { console.log( args.item[ grid.getColumns()[ args.cell ].field ] ); } ); 

返回

“{some value}”等“这是新改变的值”

文件

onCellChange ({ row: number, cell: number, item: any })

网格事件(onCellChange)