2016-11-10 62 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”会破坏布局并需要特殊处理。以上解决方案是通用的 –