Kendo Grid列过滤无数据时,能否显示自定义或本地化提示消息?
Kendo Grid 过滤无数据时自定义/本地化提示方案
当然没问题!不管是想替换成自己的自定义提示文案,还是做本地化多语言适配,Kendo Grid都给了很灵活的解决方案,我给你拆解两种场景详细说明:
一、直接设置自定义提示消息
当过滤后没有匹配数据时,Grid会触发noRecords区域的显示,你可以通过配置这个选项直接替换默认的“no data found”:
$("#grid").kendoGrid({ // 你的其他Grid配置(列定义、数据源等) columns: [/* 列配置 */], dataSource: {/* 数据源配置 */}, // 开启过滤功能 filterable: true, // 自定义无数据提示 noRecords: { template: "<div style='padding: 15px; color: #666;'>😅 抱歉,没有找到符合筛选条件的数据哦!</div>" } });
这里的template支持任意HTML内容,你可以自由调整文本内容、样式甚至添加图标,完全贴合你的产品风格。
二、实现本地化提示
如果需要做多语言适配,有两种常用的实现方式:
方式1:使用官方本地化脚本
Kendo UI官方提供了多种语言的本地化资源文件,引入对应语言的脚本后,noRecords的提示会自动切换为该语言的默认文案。比如要适配中文:
<!-- 先引入Kendo核心库 --> <script src="kendo.all.min.js"></script> <!-- 引入中文本地化脚本 --> <script src="kendo.messages.zh-CN.min.js"></script>
引入后,过滤无数据时就会显示中文的默认提示(通常是“没有找到数据”)。
方式2:自定义本地化资源
如果官方提供的本地化文案不符合你的需求,也可以手动覆盖对应语言的资源项:
// 自定义中文环境下的Grid无数据提示 kendo.ui.messages["grid.noRecords"] = "您的筛选条件未匹配到任何数据,请调整后重试~"; // 初始化Grid(只需开启noRecords功能即可) $("#grid").kendoGrid({ filterable: true, noRecords: true, // 开启无数据提示,自动使用本地化文案 // 其他配置项... });
注意事项
要确保你的Grid开启了noRecords功能——要么设置noRecords: true,要么配置了noRecords.template,这样过滤后无数据时才会显示对应的提示区域,而不是默认的空表格。
内容的提问来源于stack exchange,提问作者P. Zantinge
相关产品推荐
相关产品推荐

