制作可见的过滤行

时间:2015-09-29 13:59:26

标签: jquery datatables

我有以下jQuery DataTable

ID  |  IP Address   |Channel    |Format

 1  |192.168.9.41   |News 1     | HD    
 2  |192.168.9.45   |Sports 1   | HD    
 3  |192.168.9.47   |Movie 1    | SD    
 4  |192.168.9.48   |ESPN HD    | HD    
 5  |192.168.9.49   |Talk       | SD    

并应用过滤器,让我们说“HD'”。因此,表中的数据如下,

ID  |  IP Address   |Channel    |Format

 1  |192.168.9.41   |News 1     | HD    
 2  |192.168.9.45   |Sports 1   | HD    
 4  |192.168.9.48   |ESPN HD    | HD    

这样做的代码如下:

$scope.filterValue = function(){
    var table = $('#poolDetail').DataTable();
    table.search($scope.currentFilter).draw();
}

在此过滤器之后,我需要添加频道'谈话'被过滤器隐藏的。

我怎样才能在表格中添加一行?

1 个答案:

答案 0 :(得分:0)

如果其他人对此情况很重要,我已解决它只是向表中添加一个新的隐藏列并动态添加过滤字符串作为我需要添加为可见且原来不匹配的所有行的列值过滤器。

将值添加到隐藏列的代码如下:

    $scope.addIndividualFilteringPrograms = function(){
        var programsToAdd = filteredProgramService.getIndividualFiltering();
        if(programsToAdd.length > 0){
             for(var i=0;i<programsToAdd.length;i++){
                var table = $('#ProgramsTable').DataTable();
                table.column(3).data().each(
                    function ( value, index ) {
                         if(value === programsToAdd[i].name){
                             var rightIndex =  table.rows().eq(0)[index];           
                             table.cell(rightIndex, 10).data($scope.currentFilter).draw();
                         }
                    }
                );
              }
          }
    }

(数字10是隐藏列的索引,$ scope.currentFilter是在搜索框中应用的过滤器。) 添加此值后,我将新行显示为可见。 感谢。