数据表阻止在筛选数据时调整列大小
dataTable prevent column resizing when filtering data
我有一个dataTable,一旦表初始化,我就会动态过滤它。 我有一个 JS 函数,它需要 1 个参数,这是要用作过滤器的字符串。 我正在使用表格设置过滤器...
oTable = fnFilter(strFilter);
这工作正常,但在过滤表后,列似乎会自行调整大小。我已经将 bAutoWidth 设置为 false,所以我不确定我还能应用什么来阻止列调整大小。 我希望无论存在什么数据,我在 th 标签中定义的大小都能保留。
bAutoWidth
只是一个标志,指示dataTables是否应该自动计算宽度。将其设置为 false 是一项优化功能,请参阅文档:
启用或禁用自动列宽计算。这可以是 禁用作为优化(计算 widths),如果使用 aoColumns 传入表宽度。
但是浏览器仍然会根据其内容扩展/缩小<td>
。这就是表的工作方式。要实现您想要的,诀窍是使用这样的sScrollX
和aoColumns
:
var dataTable = $('#example').dataTable({
sScrollX: "100%",
aoColumns: [
{ "sWidth": "50px" },
{ "sWidth": "50px" },
{ "sWidth": "50px" },
{ "sWidth": "50px" },
{ "sWidth": "50px" }
]
});
这给出了一个宽度为 250px 的表格,每列 50px - 无论内容如何。 sScrollX
强制 dataTable 保持表和列的宽度。
看到这个小提琴 -> http://jsfiddle.net/MW8Ku/证明上面的apporach在调用fnFilter
后也在工作。
关于sScrollX
和sWidth
的答案是使用传统的DataTables API。 从 v 1.10+ 开始,语法为:
$('#example').dataTable( {
"scrollX": true,
"columns": [
{ "width": "50px" },
{ "width": "50px" },
{ "width": "50px" },
{ "width": "50px" },
{ "width": "50px" }
]
});
裁判:
- 滚动条X
- 列
相关文章:
- 加载/调整大小时未切换图像数据标记
- 有没有办法避免数据表的大小调整
- 如何在javascript已经检测到的情况下将屏幕分辨率数据调整为web
- 调整从选择输入中获取数据并将其放入 DIV 的 jQuery 代码
- Amcharts仅显示有关调整大小事件的数据
- 调整窗口大小时更新数据属性
- 在将图像作为原始图像二进制数据(png或jpeg)上传到服务器之前,裁剪或调整图像大小
- 使条形图根据传入的数据进行调整
- 如何根据浏览器缩放自动调整数据表
- 如何调整 jqplot 中荧光笔数据的大小
- 数据表阻止在筛选数据时调整列大小
- 高图表 - 调整列大小以修复数据标签
- 调整画布大小不会更改数据
- Twitter Bootstrap Popover:动态生成数据后重新定位或调整大小
- 调整(列大小)所有可见的数据表
- 根据文本框中输入的数据调整图像大小
- 具有自动调整行高的 JavaScript 数据网格
- 有没有一种方法可以将每个文本区域自动调整为其大小's从数据库查询返回的数据
- 禁用调整数据表中特定列的大小
- 正在动态调整数据表的大小