2016-05-19 10 views
1

現在、私はこのように個々に初期化する各ページでDataTablesを使用しています。私はcolumnDefのtype属性が DataTablesの初期化後にColumndefsを定義する方法

"columnDefs": [ 
       { 
        "targets": [0], 
         type: 'natural-nohtml' 
       } 
       ], 

はImが列「などのデータをソートするNatualSortプラグインを使用して正しく動作していない複数の場所で使用するための一般的なjQueryのメソッドを作成しようとしました

var table = $('#' + '<%= gvReports.ClientID %>').DataTable({ 
       "responsive": true, 
       "bAutoWidth": true, 
       "oLanguage": { 
        "sSearch": "Search Table: ", 
        "sSearchPlaceholder": "Search records", 
        "sEmptyTable": "No data available to display" 
       }, 
       "columnDefs": [ 
        { 
         "targets": [0], 
         type: 'natural-nohtml' 
        } 
       ], 
       "sScrollY": "55vh", 
       "scrollCollapse": false, 
       "pagingType": "full_numbers", 
       "lengthMenu": [[25, 50, 100, 150, 200], [25, 50, 100, 150, 200]] 
      }); 

0 'には、英数字のデータが含まれています。

columnDefsを動的に設定する方法はありますか?またはテーブルを初期化した後にColumn(0)のColumnDef Typeを設定するにはどうすればよいですか? 何かが好き

table.column("0:visible").Type('natural-nohtml'); 

何か助けていただければ幸いです。私は正しい方法で考えているかどうか知りたいですか?

答えて

0

columnDefsの後にdataTableを初期化する方法はありません。しかし、基本的には、natural-nohtmlを任意のdataTableの最初の列にtypeと設定したい場合は、単に$.fn.dataTable.defaultsを拡張することができます。あなたはすべてのデータテーブルを初期化する前にこのことを宣言します。

$.extend(true, $.fn.dataTable.defaults, { 
    columnDefs: [ 
    { targets: [0], type: 'natural-nohtml' } 
    ] 
}); 

これはnatural-nohtmlを入力する任意のDataTableの最初の列を設定します。

+0

ありがとうございました。私はこれを実装します。 – Krishna

関連する問題