0

演算子「in」を使用して剣道データソースをフィルタリングするにはどうすればよいですか? 例:

var original_data = [
    {"group": [1, 2], "name": "Coca Cola"},
    {"group": [1, 3], "name": "Pizza"}
];
function filter_articles(original_data, group) {
    return new kendo.data.DataSource({
        data: original_data,
        filter: { field: 'group', operator: 'in', value: parseInt(group) }
    });
}
4

1 に答える 1

1

DataSource フィルター オプションはこれをサポートしていないため、データ ソースを作成する前に、次のようにデータをフィルター処理する必要があります。

var original_data = [{
    "group": [1, 2],
    "name": "Coca Cola"
}, {
    "group": [1, 3],
    "name": "Pizza"
}];

function filter_articles(original_data, group) {
    var filtered = original_data.filter(function (item) {
        return item.group.indexOf(group) !== -1;
    });

    var ds = new kendo.data.DataSource({
        data: filtered
    });
    ds.read();

    return ds;
}

var filteredDs = filter_articles(original_data, 3);

(デモ)

于 2014-07-26T17:16:33.307 に答える