我希望SlickGrid能够根据最宽的内容或列标题文本来自动调整列宽,以模拟普通HTML表格在列大小方面的默认行为。请问如何在SlickGrid中实现这一功能?
我希望SlickGrid能够根据最宽的内容或列标题文本来自动调整列宽,以模拟普通HTML表格在列大小方面的默认行为。请问如何在SlickGrid中实现这一功能?
在构建你的选项时,你可以使用 forceFitColumns: true
var options = {
enableCellNavigation: true,
forceFitColumns: true
};
这将使列填满您的网格(div)的整个宽度。
grid.autosizeColumns()
会使单元格变大以适应父容器,但这并不是相同的东西。<5ms
的时间内计算出巨大网格视口的大小,因为字符宽度只被测量一次。grid.setColumns()
为你的列分配它们。Slickgrid不支持基于数据的列自动调整大小。您需要编写插件或分叉slickgrid核心以进行修改。
这是我创建的一个处理slickgrid自动调整大小的插件链接: https://github.com/naresh-n/slickgrid-column-data-autosize
我在绘制网格之后添加了这个内容,它运作良好。
$(window).resize(function() {
var cols = grid.getColumns();
grid.setColumns(cols);
})
您应该能够调用网格对象的autosizeColumns()
方法。
grid.autosizeColumns();
对 Naresh 的 https://github.com/naresh-n/slickgrid-column-data-autosize 进行这个简单的调整,在 init
函数中:
$container.ready(resizeAllColumns);
。这将确保在初始加载时自动调整列宽。