2014-09-21 36 views
0

在這裏有幾個關於動態更新DataTables中的列的問題,但它們都顯得過時,因爲它們引用了不推薦的屬性,如aoColumns如何動態更新DataTables列(和其他屬性)?

我的代碼看起來是這樣的:

var oTableOptions = { 
    columns: [ 
     {title: "Column 1", data: "col1"}, 
     {title: "Column 2", data: "col2"}, 
     {title: "Column 3", data: "col3"} 
    ], 
    order: [ 
     [0, 'desc'], 
     [1, 'asc'] 
    ], 
    paging: false, 
    searching: false, 
    info: false 
} 

var dt = $('#tableId').DataTable(oTableOptions); 

幾個問題:

  1. 如何更新默認的排序順序?如果我想動態地將它改爲類似[[0, 'asc'], [1, 'asc']]的東西(下一次重繪表格),我該怎麼做?

以下代碼不是工作,所以我錯過了什麼?

dt.order = [[0, 'asc'], [1, 'asc']]; 
dt.ajax.reload(); 
  • 如何重新命名的現有列?我找不到任何記錄的方法來做到這一點。是否有,還是我只需要直接使用jQuery?

  • 如何添加/刪除列?

  • 回答

    1

    var oTableOptions = { 
     
        columns: [ 
     
         {title: "Column 1", data: "col1"}, 
     
         {title: "Column 2", data: "col2"}, 
     
         {title: "Column 3", data: "col3"}, 
     
         {title: "Column 4", data: "col4"} 
     
        ], 
     
        order: [ 
     
         [0, 'desc'], 
     
         [1, 'asc'] 
     
        ], 
     
        paging: false, 
     
        searching: false, 
     
        info: false 
     
    } 
     
    
     
    var dt = $('#tableId').DataTable(oTableOptions); 
     
    
     
    // Later... 
     
    
     
    var nTableOptions = { 
     
        columns: [ 
     
         {title: "Column 1", data: "col1"}, 
     
         {title: "Column 2 n", data: "col2"}, // Rename 
     
         {title: "Column 3", data: "col3"}, 
     
         {title: "Column 4", data: "col4"} // New 
     
        ], 
     
        order: [ 
     
         [0, 'asc'], // Change 
     
         [1, 'desc'] // Change 
     
        ], 
     
        paging: false, 
     
        searching: false, 
     
        info: false, 
     
        bDestroy: true // Add this property to new setting 
     
    } 
     
    
     
    var dt = $('#tableId').DataTable(nTableOptions); 
     
    // Or 
     
    var dt = $('#tableId').html("").DataTable(nTableOptions);

    +2

    那麼也就是說......破壞整個表,並從頭開始重新繪製呢?這顯然並不理想,因爲這意味着我必須具有所有可用的初始表格選項,才能重新創建表格。我真的必須做一些如此激烈的事嗎?我希望能更簡單地更新屬性。 – SoaperGEM 2014-09-21 21:32:32