2017-06-30 82 views
0

我正在使用Jquery數據表並將大型未排序對象數據綁定到數據表。我的代碼如下:將數據過濾並綁定到數據表

var ExpenceDataTableElement = $('#ExpenceDataTable').DataTable({ 
data: Data, 
pageLength: 10, 
"bSort": false, 
"autoWidth": false, 
columns: [{ 
     "className":"clsAction", 
     "data": "TimesheetUID", 
     "title": "Action", 
     "render": (data, type, row) => '<input class="checkbox" type="checkbox" />', 
     "width": "4%", 
     "visible":true 
}, 
{ 
     "className":"clsPeriodName", 
     "data": "PeriodName", 
     "title": "Timesheet Name", 
     "visible":true 
}, 
{ 
     "className":"clsTSPeriodStatus", 
     "data": "Open", 
     "title": "Timesheet Period <br> Status", 
     "render":function(data,type,row){ if(data == 1){return " Open"}else{return " close"}}, 
     "width": "10%", 
     "visible":true 
} 
], 
"oLanguage": { 
     "sEmptyTable": "No Records found." 
} 
}); 

數據包含超過15萬條記錄,它包含像「打開」或「關閉」的標誌。目前我正在使用for循環對數據進行排序並將其綁定到數據表。意思是如果數據有15000條記錄,並且它包含7萬條「打開」標記記錄,則需要很長時間才能將數據綁定到Datatable。因此,是否有任何方法來檢查'列'中的條件:'如果標誌不是'打開',那麼繼續下一個迭代?

回答

0

您可以使用過濾方法首先在數組中打開狀態爲'open'的對象。

someObject.columns.filter(x => x.data == 'open') 

這將只過濾掉標記爲'open'的標記。您可以將其緩存到變量中以供進一步工作。

+0

** @ Ilya Kushlianski **,目前我正在使用for循環對數據進行排序和綁定。我問的是他們的任何其他方式?因此,在綁定數據時,我正在檢查條件 –