如果找不到匹配的可过滤记录,则需要显示相应的消息

时间:2014-10-07 17:53:02

标签: c# kendo-grid

在处理Kendo Grid时,我有以下两个简单的要求。

  1. 如果基础数据源没有记录,则显示在UI中: No records found. Please add New record using Add New button.

  2. 如果记录存在但用户点击任何列Filter,并且找不到匹配的记录,则显示在UI中: No matching records found for the given search criteria.

  3. 我使用Grid的OnDataBound()方法完成了第一项任务。我只是验证数据源长度并在UI中显示相应的消息。

    请帮助我实现第二个选项。因为两种情况都是网格datasource length is 0 (zero)

2 个答案:

答案 0 :(得分:1)

您可以查询网格的dataSource的过滤器属性。如果未定义过滤器,则会undefined;如果已添加过滤器,则会null,但所有过滤器都已删除。

所以,基本上你的第二个选择就是这样或类似的:

var grid = $("grid").data("kendoGrid");
if ((grid.dataSource.filter() != null) && (dataSource length is 0))
{
    //Display No matching records found....
}

答案 1 :(得分:0)

最后,我得到了线索:

function onDataBound(e) {
    var filter = dataSource.filter();
    var message;
    if (this.dataSource._total === 0) {
        if (filter && filter.filters.length) {
            message = "No matching records found for the given search criteria.";
        } else {
            message = "No records found. Please add New record using Add New button.";
        }
    }
相关问题