如果找不到匹配的可筛选记录,则需要显示相应的消息
本文关键字:显示 消息 记录 找不到 如果 筛选 | 更新日期: 2023-09-27 18:25:47
在处理Kendo Grid时,我有以下两个简单的需求。
-
如果底层数据源没有记录,则在UI中显示:
No records found. Please add New record using Add New button.
-
如果存在记录,但用户单击任意列"筛选",并且未找到匹配的记录,则在UI中显示:
No matching records found for the given search criteria.
我已经使用Grid的OnDataBound()
方法完成了第一个任务。我只是在验证数据源的长度,并在UI中显示适当的消息。
请帮我完成第二个选项。因为网格的datasource length is 0 (zero)
。
您可以查询网格的dataSource的filter属性。如果未定义过滤器,则为undefined
;如果已添加过滤器但已删除所有过滤器,则将为null
。
所以,基本上,你的第二个选择是这样或类似的:
var grid = $("grid").data("kendoGrid");
if ((grid.dataSource.filter() != null) && (dataSource length is 0))
{
//Display No matching records found....
}
最后,我得到了线索:
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.";
}
}