2016-08-23 6 views
2

AngularJSで角度データセットを使用する人は誰ですか?AngularJs + angular datatable

編集:私のテーブルのデータをフィルタリングしたい。具体的にはセレクトがカテゴリーについてのように。それはカテゴリの列にあるものだけをフィルタリングします。しかし今の私のフィルターで。それはすべてをフィルタリングします。

ここは私の選択フィルタリングのコードです。私はちょうど "検索ボックス"がデータをフィルタリングした方法をコピーします。なぜなら私はselectを使ってフィルタリングするための正しいコードを知らないからです。カスタマイズされています。

function dtInstanceCallback (dtInstance) { 
    var datatableObj = dtInstance.DataTable; 
    vm.tableInstance = datatableObj; 
} 

function searchTable() { 
    var query = vm.queryProductSearch; 
    vm.tableInstance.search(query).draw(); 
} 

function selectCategoryInTable() { 
    var sel = vm.selCategory; 
    vm.tableInstance.search(sel).draw(); 
} 

function selectStatusInTable() { 
    var sel = vm.selStatus; 
    vm.tableInstance.search(sel).draw(); 
} 

searchTable()は検索ボックス用です。 selectCategoryInTable/selectStatusInTableは、私のテーブルの私のカテゴリの列とステータスの列です。しかし、それはすべてをフィルタリングします。

特定のデータをフィルタリングする方法を知りたいと思います。 「ACTIVE」をフィルタリングする場合と同様です。 "INACTIVE"に "ACTIVE"があるため、データテーブル内の私のデータにも "INACTIVE"と表示されます。だから私は特定の単語をフィルタリングしたい。

答えて

0

これは正しくないようです。 dtInstanceからのDataTable 1.10.x APIの正しい使用方法は、あなたが特定の列内を検索したい場合は、全体の単語を検索したい場合は、あなたが

vm.tableInstance.DataTable.column(1).search(query).draw() 

を使用することができます

vm.tableInstance.DataTable.search(query).draw() 

なり、単語の一部だけではなく(アクティブvs非アクティブなど)、正規表現検索を使用します。 search()のためのドキュメントを参照して、^..$queryをラップし、trueに最初のパラメータを設定します。ここ

vm.tableInstance.DataTable.column(1).search('^'+query+'$', true).draw() 

が1列#でのfooの検索例です - > http://plnkr.co/edit/s1pP42YFE4WeuStdaK8d?p=preview

+0

は私の質問に答えてくれてありがとう。あなたは本当にそこに私を助けました。私はあなたに評判を加えることはできません。私はここでもまだ新しいです。 – jjjjjj

+0

しかし、私はこの問題があります。 これを私のコードに追加しようとしました。 function selectStatusInTable(){ var sel = vm.selectStatus; if(sel == 'ACTIVE' || sel == 'INACTIVE'){ vm.tableInstance.column(5).search( '^' + sel + '$'、true).draw(); } else if(sel == ''){ vm.tableInstance.search(sel).draw(); } } 私の選択で「すべて」をクリックするたびに。何も表示されません。しかし、私は他の場合に使用しようとします。 「ALL」をクリックすると、すべてのデータが非アクティブでアクティブであると表示されません。 – jjjjjj

+0

ohh。私はすでにそれを修正しました。ありがとうbtw。 – jjjjjj

関連する問題