2016-11-10 68 views
1

如何爲DataTable中的列指定min-width如何指定列最小寬度?

因爲寬度是可變的,所以我不能使用className的類。 width選項是不夠的。似乎沒有style選項。

+0

所以你想在運行時分配'min-width',並且不想使用具有預先定義的最小寬度的類,正確嗎? –

+0

@ Gyrocode.com沒錯。我不想爲每個單獨的頁面上的每個列創建數百個CSS類。 – mpen

回答

3

我仍然建議使用類名或多個類名和columns.className選項來將CSS規則保留在CSS文件所在的位置。

但是,如果您想要在運行時分配min-width值,則可以使用createdRow選項來定義每當爲表格主體創建元素TR時的回調。

var table = $('#example').DataTable({ 
    'createdRow': function(row, data, dataIndex){ 
     $('td:eq(3)', row).css('min-width', '200px'); 
    } 
}); 

查看this example的代碼和演示。

+0

沒有比'createdRow'更好的回調嗎?真的只需要在標題上運行一次。 – mpen

+2

@mpen,我同意它需要在頭部完成一次,並且可以使用'initComplete'和目標'th'元素。但是在某些情況下(例如垂直滾動),DataTables僅爲標題創建單獨的表,因此在標題上設置「min-width」會破壞佈局並需要特殊處理。以上解決方案是通用的 –