gpt4 book ai didi

javascript - 在 Dojo EnhancedGrid FilterBar 上设置状态文本

转载 作者:行者123 更新时间:2023-11-29 10:45:45 25 4
gpt4 key购买 nike

EnhancedGrid 上的 FilterBar 有一个标签,显示“未应用过滤器”、“显示 100 个项目中的 0 个”等。

有没有办法以编程方式将此文本更改为我想要的任何内容?

谢谢,
特里斯坦

编辑:Ken 的方法对我很有效,但对于那些需要它的人来说,这里可能有另一种方法:Replacing Dojo/Dijit NLS strings

最佳答案

您要自定义的字符串是 dojox/grid/enhanced/nls/Filter 本地化包的一部分。对该包的引用存储在其构造函数中的 Filter 插件本身(例如 1.9.1 中的 here)。

自定义这些消息的最可重用和最不易变的方法可能是创建 Filter 插件的扩展并相应地更改 nls 对象。例如:(以下假设您需要 dojo/_base/declaredojo/_base/langdojox/grid/EnhancedGrid,以及dojox/grid/enhanced/plugins/Filter 到适当的变量)

var CustomFilter = declare(Filter, {
name: 'customFilter',
constructor: function () {
// Avoid modifying the original nls bundle
this.nls = lang.clone(this.nls);
// Alter the "no filter applied" message
this.nls.filterBarMsgNoFilterTemplate = 'Custom message here';
// Alter other messages here
}
});

EnhancedGrid.registerPlugin(CustomFilter);

然后,当您创建 EnhancedGrid 实例时,您将指定 customFilter 而不是在 plugins 哈希中指定 filter 键.它的属性将保持不变,因为您仍在扩展原始插件。

如果您需要为要自定义的消息找出nls 对象中的键,请查看the source for the bundle that defines them。 .

当然,请注意,通常会根据浏览器的区域设置加载不同的本地化包。上面的示例假设您只关心通过自定义支持一种语言;如果你想支持多个,你可能想要设置你自己的一组 nls 资源以混合在第一个之上。如果您需要帮助,我可以扩展这个答案,但这至少应该让您入门。

关于javascript - 在 Dojo EnhancedGrid FilterBar 上设置状态文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19969559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com