2017-01-31 1 views
0

jsonオブジェクトを使用してテーブルを追加しています。いくつかのデータは表示されませんが、データはオブジェクト内にあり、テーブルにも追加されます。次のページまたはテーブルページをクリックすると、データが表示され始めます。 DataTable screen with issue.データテーブルがデータを表示していませんが、テーブルにjsonオブジェクトを使用してデータが入力されています

テーブル初期化。

var oRenewalsTable = $('#RenewalsTable').DataTable({ 
      dom: "<'row'<'col-sm-3'l><'col-sm-6'B><'col-sm-3'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-5'i><'col-sm-7'p>>", 
      "autoWidth": false, 
      responsive: true, 
      columnDefs: [ 
       { orderable: false, targets: [0, 8, 9] }, 
       { width: "1%", targets: 0 }, 
       { width: "7%", targets: 9 }, 
       { className: "dt-center", targets: [0,4,5,6,7,8,9] } 
      ], 
      order: [[1, 'asc']], 
      buttons: [ 
       { 
        text: 'Validate', 
        className: 'btn-primary', 
        action: function (e, dt, node, config) { 
         ValidateAllChecked(); 
        } 
       }, 
       { 
        text: 'Confirm', 
        className: 'btn-success', 
        action: function (e, dt, node, config) { 
         ConfirmAllChecked(); 
        } 
       }, 
       'copy', 
       { 
        extend: 'excel', 
        title: 'Excel Contract Renewal List', 
        footer: false, 
        exportOptions: { 
         columns: [0, 1, 2, 3, 4, 5, 6] 
        } 
       }, 
       { 
        extend: 'pdf', 
        title: 'PDF Contract Renewal List ', 
        footer: false, 
        exportOptions: { 
         columns: [0, 1, 2, 3, 4, 5, 6] 
        } 
       }, 'colvis' 
      ] 
     }); 

jsonオブジェクトを使用してテーブルにデータを追加します。

oRenewalsTable.row.add([ 
         checkbox, 
         response[i].Company, 
         response[i].Vehicle, 
         response[i].Serial, 
         response[i].SIMCode, 
         response[i].InstallationDate, 
         response[i].Status, 
         renewalDate, 
         Online, 
         confirmButton + editButton 
        ]).draw(false); 

このメソッドを使用してテーブルをクリアします。

var ClearDataTable = function (tableVar) { 
    tableVar.clear(); 
    tableVar.draw(); 
    }; 

テーブルのページング状態を維持する必要がありますが、テーブルの状態を維持しないと正常に動作しません。

答えて

0

あまりにも多くの痛みの後、私は答えを見つけました。他の誰かが同じ問題を抱えている場合は、ここに投稿しました。 datatable documentation for clear()によると:

データをデータテーブルに再ロードしている間にページング状態を保存する場合は、最初にテーブルをクリアし、falseをパラメータとして再描画します。

oRenewalsTable.clear(); 
oRenewalsTable.draw(false); 

データをデータテーブルに再ロードしている間にページング状態を保存したくない場合は、テーブルをクリアして再描画します。

oRenewalsTable.clear(); 
oRenewalsTable.draw(); 

とmorer性能を得るためにだけ使用します。

oRenewalsTable.clear().draw(false);  
oRenewalsTable.clear().draw(); 
関連する問題