0
我知道我們可以通過columns.width選項在數據表上設置列寬。但是現在我想在xhr事件中更改該選項。通過API動態更改數據表列寬度通過API
基於從服務器獲得的ajax響應,我想隱藏/顯示列並相應地調整其他列的寬度(它們都是固定大小)。有什麼方法可以通過API來實現嗎?
我環顧了所有文檔,但似乎無法實現。
我知道我們可以通過columns.width選項在數據表上設置列寬。但是現在我想在xhr事件中更改該選項。通過API動態更改數據表列寬度通過API
基於從服務器獲得的ajax響應,我想隱藏/顯示列並相應地調整其他列的寬度(它們都是固定大小)。有什麼方法可以通過API來實現嗎?
我環顧了所有文檔,但似乎無法實現。
一旦dataTable處於初始狀態,您將無法更改設置。但如果你是使用column.width
和你已經關閉autoWidth
,那麼每列的寬度很容易改變。這裏有一個例子:
var table = $('#example').DataTable({
autoWidth: false,
ajax: {
url: 'https://api.myjson.com/bins/avxod'
},
columns: [
{ data: 'name', width: 50 },
{ data: 'position', width: 50 },
{ data: 'salary', width: 50 },
{ data: 'office', width: 50}
]
})
$('#example').on('xhr.dt', function() {
$('#example thead th:eq(1)').width('400');
})
演示 - >http://jsfiddle.net/cc7x6h64/
它的工作原理,因爲column.width
注入每個<th>
爲style="width: xxx;"
你Ajax響應後加載的數據表,或者它已經被加載,你想在Ajax響應後隱藏/顯示列並更改其他列的寬度大小? –
我正在做關於數據表本身的xhr事件。基本上我想在從服務器中檢索所有數據後進行更改。 – AlfaTeK
我覺得這很容易。你可以檢查是否有其他條件。如果foo顯示/隱藏欄並更改其他欄的寬度。 –