0

У меня есть следующиеКак фильтровать данные таблицы в нг-повтор с датой

index.cshtml

<td>From:<input kendo-date-picker ng-model="date1" class="form-control input-sm" /></td> 
<td>To:<input kendo-date-picker ng-model="date2" class="form-control input-sm" /></td> 

     <tr dir-paginate="item in AllItems| itemsPerPage: 15 | filter : dateRangeFilter:date1:date2"> @*filter : SearchSubmitDate | filter : MarketingSearch filter: dateRangeFilter('SubmitDate', startDate, endDate)*@ 
      <td style="font-weight:bold;">{{item.MarketingFormattedID}}</td> 
      <td filter="{ 'SubmitDate': 'text' }">{{item.SubmitDate| mydate | date: 'MM/dd/yyyy'}}</td> 
      <td>{{item.DueDate| mydate | date: 'MM/dd/yyyy'}}</td> 
      <td>{{item.Description}}</td> 
      <td>{{item.SubmittedBy}}</td> 
      <td>{{item.MarketingStatusTypeName}}</td> 
      <td>{{item.AssignedTo}}</td> 
      <td><button ng-click="GetByMktId(item.MarketingID)"> Edit</button></td> 
     </tr> 

в .js файл

function parseDate(input) { 
    return Date.parse(input); 
} 

app.filter("dateRangeFilter", function() { 
return function (items, from, to) { 
    console.log('dateRangeFilter ' + from + ' ' + to); 
    var df = parseDate(from); 
    var dt = parseDate(to); 
    console.log('parsed ' + df + ' ' + dt); 
    var result = []; 
    for (var i = 0; i < items.length; i++) { 
     var date_bet = items[i].datetime; 
     if (date_bet > df && dt > date_bet) { 
      result.push(items[i]); 
     } 
    } 
    return result; 
    }; 
}); 

Все идет как не определено. Я относительно новичок в angularjs и пробовал все разные способы найти в stackoverflow или google. не уверен, что я пропал без вести. пожалуйста помоги. Благодарю.

Дополнительная информация: Это очень большой контроллер, поэтому я не включил всю информацию.

app.controller('cvManageMarketingController', function ($scope, serviceMarketing, updateMarketingItemService, marketingItemsListService, 
      serviceNewMarketCode, serviceSaveMktFiles, serviceGetMktFiles, serviceDownloadMktFile, $filter){ 

    marketingItemsListService.getAll().then(function (value) { 
     $scope.AllItems = (value); 
     $scope.orderByField = 'SubmitDate'; 
     $scope.reverseSort = true; 
     $scope.AllFiles = []; 
     $scope.MarketingID = 0; 
     $scope.MarketingFormattedID = ""; 
     $scope.Headers = "Add Marketing Item"; 
    }); 
} 

и я передать нг-контроллер = "cvManageMarketingController" к главному дел.

+0

Разметка и код являются неполными. Просьба указать как минимум код контроллера, связанный с разметкой, которую вы разместили. Как выглядит сбор данных 'AllItems'? – GPicazo

+0

Я добавил дополнительную информацию. Пожалуйста, дайте мне знать, если мне нужно включить больше., Спасибо – lama

ответ

0

Я хотел бы предложить вам использовать smart table плагин для заполнения элементов в угловых JS, который поставляется с удобный API, и все необходимые вещи, как пагинацией, элементы для отображения и т.д ..