Handsonetable - 无法隐藏列

Handsonetable - can't hide columns

我试图隐藏一些列。这是我的代码:

function setTable(options){

    var data = options.data;
    var container = options.container;
    var dataSchema = options.dataSchema;
    var colHeaders = options.colHeaders;
    var columns = options.columns;

    var table = new Handsontable(container, {
        data: data,
        disableVisualSelection:true,
        dataSchema: dataSchema,
        colHeaders:colHeaders,
        columns:columns,
        currentRowClassName: 'selected',
        columnSorting:true,
        columnStreching:true,
        autoColumnSize: true,
        stretchH: 'all',
        outsideClickDeselects: false 

    });
    Handsontable.hooks.add('afterSelectionEnd', function(e){
        var data = this.getDataAtRow(e);
        moveToAlert({
            n:data[1],
            v:data[4],
            lt:data[7],
            ln:data[8]
        });
    }, table);
    Handsontable.hooks.add('afterOnCellMouseOver', function(e,c){
        var data = this.getDataAtRow(c.row);
        if(data[0] == null) return false;
        moveToAlert({
            n:data[1],
            v:data[4],
            lt:data[7],
            ln:data[8]
        })
    }, table);

    return table;
}

actualData.push(
{
    reg:d.r, 
    name:d.n, 
    fd:d.fd, 
    td:d.td, 
    v:d.v, 
    rgps:d.rg, 
    loc:"PL, Wrocław, Autostradowa Obwodnica Wrocławia",
    lt:d.lt,
    ln:d.ln,
    c:'a_'+d.c
}
);   
}

if (TABLE_ACTUAL) TABLE_ACTUAL.destroy();
TABLE_ACTUAL = setTable({
  data:actualData,
  container:document.getElementById('actual-table'),
  dataSchema:{reg: null, name: null, fd: null, td: null, v: null, rgps: null, loc: null, lt:null, ln:null,c:null},
  colHeaders:["Pojazd", "Nazwa", "Od", "Do", "Wartość", "Droga", "Lokalizacja"],
  columns:[
    {
        data:"reg",
        editor:false,
    },
    {
        data:"name",
        editor:false,
    },
    {
        data:"fd",
        editor:false,
    },
    {
        data:"td",
        editor:false,
    },
    {
        data:"v",
        editor:false,
    },
    {
        data:"rgps",
        editor:false,
    },
    {
        data:"loc",
        editor:false,
    }
],
});

所以我想隐藏最后 3 列(lt、ln、c)并禁用所有列上的编辑器。为什么这种方式不起作用?我不想使用 customrender,因为我认为它没有必要。

编辑 已解决(感谢@ZekeDroid)

我使用了 getSourceDataAtRow() 而不是 getDataAtRow()。 还用于排序 table 的修复:http://docs.handsontable.com/0.16.1/demo-sorting-data.html 更具体地说:physicalIndex = instance.sortIndex[logicalIndex][0]; 作为选定行的索引。

这可能是由于 dataSchema 选项。您包括要在此处显示的列,即使为空。尝试完全删除 dataSchema 选项。但请提供 fiddle 以便我们更加确定。