DataTables.net排序后自定义字体大小

时间:2015-09-25 07:27:51

标签: jquery css sorting datatable datatables

我正在使用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");
 }

1 个答案:

答案 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' );
  }
}

});