无法在动态生成的表上设置数据表列宽



我有一些jquery可以发布一些数据,获取列表作为JSON响应,并根据列表数据构建数据表。一切正常,但是我有一个看似简单的问题:我无法使表声明中的列宽保持不变。

我的代码看起来像这样:

//some magic happens and I get a result like this
json_result = ['eggs', 'bananas', 'purple']
//declare the table
var result_table = $( table_selector )
table = result_table.DataTable({
              //set two different width columns
              columnDefs: [
                     { "width": "10%", "targets": 0 },
                     { "width": "90%", "targets": 1 }
                    ]
          });
//build the table rows based on result
for (i=0, i<json_result.length, i++){
    var new_row = '<tr><td><input type="checkbox"></td><td>' +json_result[i] + '</td></tr>'
    table.row.add(new_row).draw();
   }
// table.columns.adjust().draw(); <-- tried this to no avail
table.draw();

结果是一张完美的桌子,非常适合它的容器......但是列宽分为 50/50。这些相同的列定义似乎在我的应用程序中的其他表上运行良好。我觉得我错过了一些简单的东西!

从 datatables.net 的论坛帖子中,通过以下方式禁用"自动宽度"功能:

$(document).ready( function () {
  $('#example').dataTable( {
    "bAutoWidth": false
  } );
} );

参考资料: legacy.datatables.net:

最新更新