【问题标题】:How to get the correct row id, in a onActiveCellChanged event, from a filtered Slickgrid如何在 onActiveCellChanged 事件中从过滤的 Slickgrid 中获取正确的行 ID
【发布时间】:2013-11-24 14:28:48
【问题描述】:

我正在使用带有 dataView 的最新 SlickGrid。

我订阅了onActiveCellChanged 事件以对用户选择一行做出反应,并通过以下方式获取第一列的单元格内容:

grid.onActiveCellChanged.subscribe(function(e, args)
{
    var cell = args.cell;
    var row = args.row;
    vat cell_contents = data[row][grid.getColumns()[0].field]; 

在我过滤表格之前,这非常有效。那么 args.row 与数据表中的行不匹配。

如何将过滤后的行号(在事件中给出)映射到我要读取的数据的实际行?

即过滤后的网格可能会产生一行数据,但实际上可能是实际数据表的第 10 行。我需要能够读取所选可见行中的数据。

【问题讨论】:

    标签: javascript slickgrid


    【解决方案1】:

    经过无数次尝试,我终于做到了。对于其他前来寻找的人,我所做的是:

        grid.onActiveCellChanged.subscribe(function(e, args)
        {
            var cell = args.cell;
            var row = args.row;
    
            var row_data = dataView.getItem(row);  // Read from dataView not the grid data
            var cell_contents = row_data['id'];
    

    此解决方案补偿重新排序的列以及过滤的行。

    【讨论】:

      猜你喜欢
      • 2022-01-09
      • 2014-06-01
      • 2012-09-19
      • 2013-03-17
      • 1970-01-01
      • 2016-06-19
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      相关资源
      最近更新 更多