2016-01-09 37 views
-1

我有这种说法如何插入条件,如果在WebGridColumn

查看

@model IEnumerable<xxxx> 
@{ 
    var idGrid = "grid" + this.ViewBag.IdParameters ?? string.Empty; 
    var grid = new WebGrid(id: idGrid, rowsPerPage: this.RowsPerPage, ajaxUpdateContainerId: idGrid); 
    byte Status = Convert.ToByte(ViewData["StatusM"]); 

    var columns = new WebGridColumn[] { 
     grid.Column("Id", ReuniaoResources.Id, style: "center"), 
     grid.DescriptionColumn("Status", ReuniaoResources.Status, descriptor: this.GetDescriptor(), style: "center"), 

     if(Status == 4) 
     { 
     grid.ButtonColumn(x => x.Status == 0 ? "ico_edit.gif" : "ico_details.gif", 
      toolTip: ReuniaoResources.Management, 
      showRoles: ApplicationRoles.xxxxx, 
      urlFunction: x => x.Status == 0 ? Url.Action("xxxx", "xxxxx", new {id = x.Id}) : Url.Action("xxxx", "xxxxx", new {id = x.Id}) 
     ); 
     } 
     grid.ViewButtonColumn(enableRoles: ApplicationRoles.xxxx, toolTip: Geral.Visualizar), 
    }; 
} 
@grid.GetHtmlExtended(this.Model, this.RowsCount, page: this, columns: columns) 

插入时如果grid.ButtonColumn,显示错误: enter image description here

我想这ButtonColumn似乎只满足如果条件
我做错了什么?
如何使它工作?

+0

你不能有一个条件,如果在初始化网格。您的IF语句必须在初始化之外。 – Kami

回答

0

我希望下面的例子将帮助你

var gridColumns = new List<WebGridColumn>(); 
if (status == 4) 
{ 
    gridColumns.Add(companyGrid.Column(format: @<text><button class="edit-mode">Edit</button> </text>)); 
} 

gridColumns.Add(companyGrid.Column("ID", format: @<text>@item.CompanyID</text>)); 
gridColumns.Add(companyGrid.Column("ID", format: @<text>@item.CompanyName</text>)); 

@companyGrid.GetHtml(columns:companyGrid.Columns(gridColumns.ToArray()))