[英]Nullable property in Infragistics Ignite UI grid
我在ASP.NET MVC 4應用程序中使用Infragistics Ignite UI網格。 這是視圖中的外觀:
@model IQueryable<User>
@( Html.Infragistics().Grid( Model )
.AutoGenerateColumns( false )
.Columns( column => {
column.For( p => p.Id)
.HeaderText( "ID" );
column.For( p => p.Name )
.HeaderText( "Name" );
} )
.DataSourceUrl( Html.BuildUrlFromExpression<UserController>( c => c.GetUsers() ) )
.Features( feature => {
feature.Paging().Type( OpType.Remote );
feature.Sorting().Type( OpType.Remote ).CaseSensitive( false );
feature.Filtering().Type( OpType.Remote );
feature.Resizing();
feature.Tooltips();
} )
.Width( "100%" )
.DataBind()
.Render() )
User對象的屬性之一是可以為null的子實體。 這是架構的要點:
public class User
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual Role Role { get; set; }
}
public class Role
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
}
網格工作正常,但我需要在列中顯示Role子項的Description屬性。 這似乎應該很容易,但我一直無法弄清楚。 例如,這不起作用,因為有時Role為null(它顯示網格的標題行和一個永久加載圖標):
.Columns( column => {
column.For( p => p.Id)
.HeaderText( "ID" );
column.For( p => p.Name )
.HeaderText( "Name" );
column.For( p => p.Role.Description )
.HeaderText( "Role" );
} )
這也不起作用:
column.For( p => p.Role.Description )
.HeaderText( "Role" )
.Template( "${Site.Name}" );
我對“ Infragistics網格可為空的屬性”一目了然,但直到搜索“ Ignite UI網格可為空的屬性”之后,我什么都沒找到。 這有效:
column.For( p => p.Role )
.HeaderText( "Role" )
.DataType( "object" )
.FormatterFunction( "function(obj) { if (!obj) return 'None'; return obj.Description; }" );
那樣的話我討厭。 ( 來源 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.