2014-01-13 3 views
2

мне нужно для автоматического заполнения Кендо выпадающего списка из следующего JSON:фильтр JSON DataSource с Кендо UI

var products= 
[ 
    { 
     id: 1, 
     title: "Item-1", 
     active: true 
    }, 
    { 
     id: 2, 
     title: "Item-2", 
     active: false 
    } 
]; 

Так я использую следующий код, чтобы сделать это, который работает отлично:

$("#productList").kendoDropDownList({ 
    dataSource: products, 
    dataTextField: "title", 
    dataValueField: "id" 
}); 

Проблема в том, что я хочу видеть только те объекты, для которых «active» истинно.

Как реализовать это с помощью Kendo?

ответ

1

Sample Jsfiddle

Для фильтра может быть только фильтр dataSoruce, что почему создание kendo.data.DataSource и применить фильтр в фильтра секции.

фильтр: {fieled: "активный", оператор: "экв", значение: истинно}

HTML

<div> 
    <input id="productList" style="width:250px"/> 
</div> 

Javascript

var products= 
[ 
    { 
     id: 1, 
     title: "Item-1", 
     active: true 
    }, 
    { 
     id: 2, 
     title: "Item-2", 
     active: undefined 
    }, 
    { 
     id:3, 
     title:"Item-3", 
     active:false 
    }, 
    { 
     id:3, 
     title:"Item-4", 
     active:undefined 
    } 
]; 
var dataSource=new kendo.data.DataSource({ 
    data:products, 
    filter:{ 
     logic:'or', 
     filters:[ 
      {field:"active",operator:"eq",value:true}, 
      {field:"active",operator:"eq",value:undefined} 
     ]} 
}); 

$("#productList").kendoDropDownList({ 
    dataSource: dataSource, 
    dataTextField: "title", 
    dataValueField: "id" 
}); 
+0

Хороший ответ, и он работает, спасибо! И что, если я хочу изменить условие на это: , чтобы поддерживать значение по умолчанию. Как изменить фильтр для этого? –

+0

@ user1102051, уже обновленный с опциями нескольких фильтров в dataSource – Goddard

+0

@ user1102051 http://jsfiddle.net/R778c/4/, ссылка для последнего обновления – Goddard

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