自定义 Kendo 下拉列表消息以替换 "no data found"
Customise Kendo dropdownlist message to replace "no data found"
在我们的 .NET Core 3 网络应用程序中,我们使用 Kendo 和我们的 razor 视图。
我们正在使用 Html.Kendo().DropDownListFor
控件,当它没有要显示的数据时,会显示文本:
“未找到数据”
我们想用自定义消息替换此字符串。我们知道我们可以替换 kendo.all.min.js
中的字符串,但我们知道一旦我们更新 Kendo.
这将被覆盖
我们如何在 DropDownListFor
控件本身内以编程方式指定文本字符串?
我建议你为你的项目创建一个 JS 文件并覆盖你想要的任何消息,这样你就可以毫无问题地更新 kendo。
现在,为了回答您的问题,在 DropDownList
的情况下,您可以像这样更改以下 属性 的值:
kendo.ui.DropDownList.prototype.options.messages.noData = 'Sorry, no data here';
您可以使用任何其他小部件来做到这一点。
您可以设置和分配模板以使用和自定义无数据消息。我还添加了带有样式的跨度,以删除 Kendo 添加的大写字母 text-transform。像这样:
<!-- Template -->
<script id="noDataTemplate" type="text/x-kendo-template">
<span style="text-transform: none;">
<strong>My Custom No Data Message here</strong>
</span>
</script>
<!-- DropDownList initialization -->
@(Html.Kendo().DropDownList()
.Name("customers")
.DataTextField("ContactName")
.DataValueField("CustomerID")
.NoDataTemplateId("noDataTemplate") // Reference to the template.
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Template_GetCustomers", "ComboBox");
});
})
)
这里有更多信息:https://docs.telerik.com/aspnet-core/html-helpers/editors/dropdownlist/templates#no-data-templates
在我们的 .NET Core 3 网络应用程序中,我们使用 Kendo 和我们的 razor 视图。
我们正在使用 Html.Kendo().DropDownListFor
控件,当它没有要显示的数据时,会显示文本:
“未找到数据”
我们想用自定义消息替换此字符串。我们知道我们可以替换 kendo.all.min.js
中的字符串,但我们知道一旦我们更新 Kendo.
我们如何在 DropDownListFor
控件本身内以编程方式指定文本字符串?
我建议你为你的项目创建一个 JS 文件并覆盖你想要的任何消息,这样你就可以毫无问题地更新 kendo。
现在,为了回答您的问题,在 DropDownList
的情况下,您可以像这样更改以下 属性 的值:
kendo.ui.DropDownList.prototype.options.messages.noData = 'Sorry, no data here';
您可以使用任何其他小部件来做到这一点。
您可以设置和分配模板以使用和自定义无数据消息。我还添加了带有样式的跨度,以删除 Kendo 添加的大写字母 text-transform。像这样:
<!-- Template -->
<script id="noDataTemplate" type="text/x-kendo-template">
<span style="text-transform: none;">
<strong>My Custom No Data Message here</strong>
</span>
</script>
<!-- DropDownList initialization -->
@(Html.Kendo().DropDownList()
.Name("customers")
.DataTextField("ContactName")
.DataValueField("CustomerID")
.NoDataTemplateId("noDataTemplate") // Reference to the template.
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Template_GetCustomers", "ComboBox");
});
})
)
这里有更多信息:https://docs.telerik.com/aspnet-core/html-helpers/editors/dropdownlist/templates#no-data-templates