2016-05-26 19 views
1

jQuery DataTableに条件付きでプロパティを設定し、重複するプロパティを持つほぼ同じテーブル変換呼び出しを繰り返さないようにする方法があるのだろうかと思います。jQuery Datatable条件付き設定

たとえば、特定のブール値がtrueの場合はExcelのエクスポートボタンをオンにしたいが、そのブール値がfalseの場合はそれを指定しないでください。

if blnExport { 
    $('#tblDetail').DataTable({ 
     bPaginate: false, 
     aaSorting: [], 
     language: { emptyTable: "No Results Found" }, 
     dom: 'Bfrtip', 
     buttons: [ 
     { 
      extend: 'excel', 
      text: 'Export to Excel', 
      exportOptions: { 
       columns: [0, 1, 2, 3, 4, 5, 6, 7] 
      } 
     }] 
    }); 
}  
else { 
    $('#tblDetail').DataTable({ 
     bPaginate: false, 
     aaSorting: [], 
     language: { emptyTable: "No Results Found" } 
    }); 
} 

変換コールを1回実行する方法はありますか?ありがとう。

+0

条件とは何ですか、Excelのボタンを表示する場合のコードとは何ですかそれが表示されていない場合、帽子はコードですか? –

+0

私の質問のコードは、私が現在これをどのように扱っているかです。 blnExportがtrueの場合、Excelエクスポートボタンを使ってデータテーブルを作成します。 blnExportがfalseの場合、Excelのボタンなしでデータテーブルを作成します。ここに私の質問です。 1つのデータ変換可能な変換を行い、特定の条件に基づいていくつかのプロパティを設定する方法はありますか?そうすれば、blnExportの種類にかかわらず同じプロパティを複製する必要はありません。この場合、blnExportがtrueの場合はExcelのボタンを含めたいと思います。 – Isaac

答えて

1

のは、あなたがこのようなfunctionを持っているとしましょう:

function myFunction(params) { 
    //Do something 
} 

はのは、この例で考えてみましょう:aは常にinputのメンバーである、あなたが例で見ることができるように

var input = { 
    a: 1; 
}; 

if (Math.floor(Math.random() * 2)) { 
    input.b = 2; 
} 

myFunction(input); 

を、私たちbがその中に入るべきかどうかをランダム化する。のは、これを適用してみましょう

あなたは確かに必要とされるもの

  • チェックを必要とするものでinputオブジェクトを作成し、
  • それを追加し、パス

    • それfunction
    • へ:基本的には、アイデアがにあります具体的なケース:

      var input = { 
          bPaginate: false, 
          aaSorting: [], 
          language: { emptyTable: "No Results Found" } 
      }; 
      
      if (blnExport) { 
          input.dom = 'Bfrtip'; 
          input.buttons = [{ 
           extend: 'excel', 
           text: 'Export to Excel', 
           exportOptions: { 
            columns: [0, 1, 2, 3, 4, 5, 6, 7] 
           } 
          }]; 
      } 
      $('#tblDetail').DataTable(input); 
      
  • +0

    それは素晴らしい作品です。ありがとう! – Isaac