2015-09-25 144 views
0

我正在使用DataTables.net在我的網站中插入一個表。我還添加了一個函數來添加/刪除此表中的列。爲了適應容器大小,我根據列號更改了表中的字體大小。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

你能告訴你正在使用更改字體大小不同的代碼? – leddy

+0

我添加了代碼來更改字體大小:-) – user2550641

+1

您需要使用其中一個內置數據表回調函數,例如'fnRowCallback',在渲染之前將自定義CSS類應用到行。你可以發佈你的數據表初始化代碼嗎? – markpsmith

回答

1

也許嘗試添加自定義類行,而不僅僅是改變,使得添加排序類重寫以及字體?例如

if(counter = model.getMaxCol()){ 
    $('#room-table tr').addClass('customFont'); 
} 

CSS:

.customFont { 
    font-size: 0.75em; 
} 

編輯:使用fnRowCallback通過markpsmith的建議

var table = $('#example').DataTable({ 

    "fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull) { 

    if (true) // your logic here 
    { 
    $(nRow).addClass('customFont'); 
    } 
} 

}); 
+0

我使用了回調函數,謝謝你! – user2550641

+2

@ user2550641,'fnRowCallback'是舊記法中的名稱,將在未來版本中刪除,請改用['rowCallback'](http://datatables.net/reference/option/rowCallback)。 –

+0

@ Gyrocode.com感謝您的支持,我不知道這 – leddy

相關問題