支持网格上的空列
2022-10-25
251
我目前正在使用 Telerik Kendo Grid 开发 ASP.Net Core MVC 应用程序。>
在网格上,我有如下列:
.Columns(columns =>
{
columns.Bound(x => x.PrimaryContact.EmailAddress)
})
但是这会引发错误:
Uncaught TypeError: Cannot read properties of null
因为 PrimaryContact 属性可以为空
为了解决这个问题,我尝试:
columns.Bound(x => x.PrimaryContact != null ? x.PrimaryContact.EmailAddress : string.Empty)
但是现在返回错误:
InvalidOperationException: Bound columns require a field or property access expression.
如何在 kendo 列中支持可为空?
2个回答
您必须使用
ClientTemplate
:
columns.Bound(x => x.PrimaryContact.EmailAddress)
.ClientTemplate("#=PrimaryContact ? PrimaryContact.EmailAddress : ''#")
检查: https://feedback.telerik.com/aspnet-mvc/1357413-support-null-complex-properties-in-grid-columns
Dimitris Maragkos
2022-10-25
仅绑定 PrimaryContact 以避免表达式中的空引用,并使用模板来定义您实际希望列显示的内容:
.Columns(columns =>
{
columns.Bound(x => x.PrimaryContact).Template(x =>
{
#= x.PrimaryContact != null ? x.PrimaryContact.EmailAddress : string.Empty#
})
})
这与 Dimitris 的回答类似(我输入时没有看到他的回答)。不同之处在于我的模板是在服务器端呈现的,而他的模板是在客户端呈现的。它的工作原理有什么不同吗?
NigelK
2022-10-25