我正在使用DataTables.net在我的网站中插入表格。我还添加了一个在此表中添加/删除列的函数。为了适应容器大小,我根据列号更改表中的字体大小。
我的问题:如果我使用排序功能(标题旁边的箭头),则不会考虑字体大小的变化。
例如:
我有我的表并添加了5.列。在此之后,字体大小更改为0.8em。我按下排序箭头以对结果进行排序。该表重新加载原始字体大小1.0em。
是否有可能拦截排序函数以插入我的方法来更改字体大小?或者有人有另一个想法来解决这个问题吗?
编辑:我在更改页面时遇到同样的问题,以便在表格中显示更多结果。
编辑:以下是我用来更改字体大小的代码(它适用于实际的表视图,但如果我通过排序或更改页面来更改表格则不行)。每当添加/删除列时,我都会调用该方法。
if(counter < model.getMaxCol()){
$('#room-table tr').css('font-size', "1.0em");
}
else if(counter = model.getMaxCol()){
$('#room-table tr').css('font-size', "0.75em");
}
答案 0 :(得分:1)
也许尝试在行中添加自定义类而不仅仅是更改字体,以便覆盖添加的排序类? e.g。
if(counter = model.getMaxCol()){
$('#room-table tr').addClass('customFont');
}
CSS:
.customFont {
font-size: 0.75em;
}
编辑:使用markpsmith建议的fnRowCallback
var table = $('#example').DataTable({
"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
if ( true ) // your logic here
{
$(nRow).addClass( 'customFont' );
}
}
});