如何在DataTable中指定列宽?

时间:2012-03-06 02:08:25

标签: jquery datatable width

我有以下数据表:

$(function() {
    var dataTableColumns = [
        { "sType": "numeric" },     null, null, null, null, null,
        null, null, null, null, null, { "sType": "date-dayofweek" },
        null, null, null, null, null, null, { "sType": "date-dayofweek" },
        null, null, null, null, null, 
        null, null, null, null, null,
        null, null, null, null, 
        null, null, null, null,  
        null, null, null, null,  
        null, { "sType": "date" }, null
    ];

    oTable = $('#example').dataTable({
        "bPaginate" : true,
        "aaSorting": [ [0,'asc'] ],
        "aoColumns" : dataTableColumns,
        "oLanguage": {
            "sLengthMenu": 'Show <select>'+
                '<option value="10">10<\/option>'+
                '<option value="25">25<\/option>'+
                '<option value="50">50<\/option>'+
                '<option value="100">100<\/option>'+
                '<option value="-1">All<\/option>'+
                '<\/select> records'
        },
        "iDisplayLength": -1,
    });
});

上面数据表中的几列都包含文本数据,我想为这些列指定宽度选项。我尝试了各种选项bAutoWidth,sWidth,td width,css style,fnAdjustColumnSizing,但似乎没什么用。我不知道出了什么问题..请帮忙!!

2 个答案:

答案 0 :(得分:4)

我想出来了。在表的html声明样式(宽度:4000px)和bAutoWidth:false中提供以下选项。我知道这是一种解决问题的蛮力方法,但我别无选择。我真的不喜欢datatable设置的列宽。

答案 1 :(得分:0)

如果您使用的是DataTable 1.10.x或更高版本,则必须知道autoWidth参数必须设置为false才能使其正常工作。

见这个例子:

$('#example').dataTable( {
  "autoWidth": false,
  "columnDefs": [
    { "width": "20%", "targets": 0 }
  ]
} );

注意:即使official documentation也不会告诉你。