如果表格中有许多列(> 100),SlickGrid在IE9上的工作速度非常慢(根本不可用)。然而,同样的表在Chrome和FF上运行得非常好。这个问题已知吗?有办法解决吗?这是我初始化网格的方式:
$.getJSON(matrix_api, function(data) {
app.dataView = new Slick.Data.DataView();
app.dataView.setItems(data.Data);
app.grid = new Slick.Grid("#matrix", app.dataView, data.Columns, {
enableCellNavigation: true,
enableColumnReorder: false,
autoHeight: false
});
}).done(function() {
app.grid.onSort.subscribe(function (e, args) {
app.sortcol = args.sortCol.field;
app.dataView.sort(comparer, args.sortAsc);
app.grid.invalidate();
app.grid.render();
});
});
更新: 事实证明这个问题是由于我的CSS样式:
<section id="matrix" class="table">
</section>
从SlickGrid容器中删除class属性并将其包装在另一个容器中修复了问题:
<div id="matrix-wrap" class="table">
<section id="matrix">
</section>
</div>
确切地说,border- {top,bottom} - {left,right} -radius属性会导致IE中的问题。