2016-08-23 40 views
2

這裏的任何人在AngularJS中使用angular-datatables?AngularJs +角度數據表

編輯:我想過濾我的表中的數據。具體的。就像選擇是關於類別一樣。它只會過濾類別列中的內容。但在我的過濾器截至目前。它過濾一切。

這是我過濾select的代碼。我只是複製「搜索框」如何過濾數據。因爲我不知道使用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」一樣。我的datatable中的數據也會顯示「INACTIVE」,因爲在「INACTIVE」中有「ACTIVE」。所以我想過濾特定的單詞。

回答

0

這看起來不對。數據表的正確用法從dtInstance 1.10.x API將

如果您想在特定列中搜索
vm.tableInstance.DataTable.search(query).draw() 

,您可以使用

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

,如果你要搜索整個單詞,而不僅僅是單詞的一部分(如活動vs非活動),然後使用正則表達式搜索。裹query^..$和第一個參數設置爲true,看文檔的search()

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

這裏是一個例子,列#尋找FOO 1 - >http://plnkr.co/edit/s1pP42YFE4WeuStdaK8d?p=preview

+0

謝謝你回答我的問題。你真的幫助我。很抱歉,我無法爲您添加聲望。我在這裏還是新手。 – jjjjjj

+0

但我有這個問題。 我試圖在我的代碼中添加這個。 (){ var sel = vm.selectStatus;如果(sel =='ACTIVE'|| sel =='INACTIVE'){ vm.tableInstance.column(5).search('^'+ sel +'$',true).draw(); (sel ==''){ vm.tableInstance.search(sel).draw(); else if(sel ==''){ } } } 因爲每當我點擊我所選擇的「ALL」。它什麼都沒顯示。但是當我嘗試使用,如果其他。當我點擊「ALL」 – jjjjjj

+0

ohh時,我不會顯示所有數據處於非活動狀態並處於活動狀態。我已經修好了。謝謝btw。 – jjjjjj