2015-01-14 1 views
2

Ниже приведен мой источник данных, который необходимо привязать к выпадающему списку двух кендо. Один для программы и другой для IForm. Мне нужна фильтрация, которая должна быть выполнена в самом раскрывающемся меню.Как применить угловой фильтр в списке выпадающих углов-Кендо?

$scope.programIFormList = new kendo.data.DataSource({ 
     data: [ 
        { 
         Name: "Program1", 
         IsProgram: "true", 
         ProgramId: 1, 
         Status: 0, 
         PatientId: 1, 
         StartDate:"", 
         EndDate:"" 
        }, 
        { 
         Name: "Program2", 
         IsProgram: "false", 
         ProgramId: 2, 
         Status: 0, 
         PatientId: 1, 
         StartDate:"", 
         EndDate:"" 
        } 
       ] 
    }); 

Ниже HTML код:

<div class="col-lg-2 col-md-4 col-sm-4 col-xs-4"> 
        <select id="patient" kendo-drop-down-list k-data-text-field="'Name'" k-data-value-field="'PatientId'" k-data-source="patientList" >      
        </select> 
       </div> 

       <div class="col-lg-2 col-md-4 col-sm-4 col-xs-4"> 
        <select kendo-drop-down-list k-data-text-field="'Name'" k-data-value-field="'ProgramId'" k-data-source="programIFormList | filter:{IsProgram: true}" k-cascade-from="'patient'"> 
        </select> 
       </div> 
       <div class="col-lg-2 col-md-4 col-sm-4 col-xs-4"> 
        <select kendo-drop-down-list k-data-text-field="'Name'" k-data-value-field="'ProgramId'" k-data-source="programIFormList | filter:{IsProgram: false}" k-cascade-from="'patient'"> 
        </select> 
       </div> 

Здесь я пытаюсь применить угловой фильтр. Но это не работает. Как это можно достичь с помощью Kendo Angular?

ответ

0

Вы можете использовать этот подход

angular.module("MyApp", [ "kendo.directives" ]) 
     .controller("FilterController", function($scope){ 


      $scope.programIFormList = new kendo.data.DataSource({ 
       data: [ 
          { 
           Name: "Program3", 
           IsProgram: "true", 
           ProgramId: 1, 
           Status: 0, 
           PatientId: 1, 
           StartDate: "", 
           EndDate: "" 
          }, 
          { 
           Name: "Program1", 
           IsProgram: "false", 
           ProgramId: 2, 
           Status: 0, 
           PatientId: 1, 
           StartDate: "", 
           EndDate: "" 
          } 
       ], 
       filter: [ 
       { field: "IsProgram", operator: "eq", value: "true" } 

       ] 
      }); 
     }); 

+0

подход является правильным, если есть только один Dropdown. Но у меня есть два выпадающих списка, и мне нужно привязать этот единственный источник данных к обоим и делать фильтрацию на уровне представления. Есть ли способ передать значение фильтра из представления HTML? Существует ли какая-либо директива, созданная Kendo UI? –

+0

Мы можем использовать такой встроенный фильтр, но я не уверен в этом. Я тестировал его с вашим примером, но его не работает, но может быть, если вы можете исследовать больше, то может быть может помочь. ** k-filter = "'{поле:' IsProgram ', оператор:' eq ', value:' true '}'" ** – virender

Смежные вопросы