我用以下代码创建了一个数据表

$(document).ready( function () {
    $('#data-table').DataTable( {
        "bFilter": false,
        "scrollY": 300,
        "scrollX": true,
        "paging":   false,
        "ordering": false,
        "info":     false,
        "columnDefs": [
        { "width": "20%", "targets": 0 }
    ]

    });
} );


请注意,我将每一列的宽度设置为20%。我的问题是如何为第1列指定宽度,同时仍然能够为其余列设置宽度?

我在数据表网站上看到过这样的示例:

$('#example').dataTable( {
  "columns": [
    { "width": "20%" },
    null,
    null,
    null,
    null
  ]
} );


但是我认为这对我不起作用,因为它看起来好像需要我事先知道表中有多少列,并且用户需求要求列数必须可变。

最佳答案

尝试以此替换掉columnDefs部分(并添加适当的百分比):

"columnDefs": [
        { "width": "(percentage)%", "targets": "_all" }
        { "width": "(other percentage)%", "targets": 0 }
]


这会将第一列设置为一个宽度,其他列设置为不同的宽度。

目标定义将受影响的列。将其设置为整数会影响从左到右的列(即““ targets”:[0,1]'会影响最左边和最左边的列)。负整数会影响从右到左的列。字符串“ _all”将影响所有列。

关于javascript - jQuery数据表的复杂列宽,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32791047/

10-13 01:03