dojo – 是否可以像在数据网格中一样过滤dgrid中的数据?如果是这样,怎么样?

我对dojo相对较新,并且已经看到了datagrid如何提供动态过滤功能,根据您在过滤器文本输入中键入的内容减少可见行.我还没有找到任何如何使用dgrid做的例子.如果可以,请提供示例或指向我提供教程或示例的资源.谢谢!
对的,这是可能的.使用dgrid / OnDemandGrid并定义查询函数,该函数将根据您为dojo / store为网格供电的每一行的逻辑返回true或false.

我准备了一个在jsFiddle:http://jsfiddle.net/phusick/7gnFd/上玩的例子,所以我不必解释太多:

查询功能:

var filterQuery = function(item, index, items) {
    var filterString = filter ? filter.get("value") + "" : "";

    // early exists
    if (filterString.length < 2) return true;
    if (!item.Name) return false;

    // compare
    var name = (item.Name + "").toLowerCase();
    if (~name.indexOf(filterString.toLowerCase())) { return true;}

    return false;
};

网格:

var grid = new Grid({
    store: store,
    query: filterQuery, // <== the query function for filtering
    columns: {
        Name: "Name",
        Year: "Year",
        Artist: "Artist",
        Album: "Album",
        Genre: "Genre"
    }
}, "grid");
相关文章
相关标签/搜索