我有一个webgrid,我想要在列数据上放置一个条件语句,我将有?列上的Mvc3 webgrid条件语句
是否有可能,如果是的话,你能提供一个例子吗?
编辑
只是一个片断
grid.Column("Status","Status",canSort: true)
如果状态值是“正确的”,我想显示图像而不是文字。
我有一个webgrid,我想要在列数据上放置一个条件语句,我将有?列上的Mvc3 webgrid条件语句
是否有可能,如果是的话,你能提供一个例子吗?
编辑
只是一个片断
grid.Column("Status","Status",canSort: true)
如果状态值是“正确的”,我想显示图像而不是文字。
如果我正确理解你的问题,你会想在你的视图中放置一个'if'语句。喜欢的东西:
@{
var option1 = true;
var option2 = false;
}
@if(option1){
<div id="grid1">
@grid.GetHtml(
tableStyle: "grid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: grid.Columns(
grid.Column("firstColumn"),
grid.Column("secondColumn")
)
)
</div>
} else if (option2) {
<div id="grid2">
@grid.GetHtml(
tableStyle: "grid",
headerStyle: "head",
alternatingRowStyle: "alt",
columns: grid.Columns(
grid.Column("firstColumn"),
grid.Column("secondColumn"),
grid.Column("thirdColumn")
)
)
</div>
} else {
<div id="grid3">
No grid
</div>
}
请编辑 – sameer
这里一个条件的检查,我躲在我的两列密码和电子邮件地址。通过这样做,我可以阻止我的webgrid显示我不想显示特定条件的列。
var grid = new WebGrid(Model.User)
if(myConditionCanGoInHere) {
@grid.GetHtml(columns: grid.Columns(
grid.Column("Name"),
grid.Column("Password"),
grid.Column("EmailAddress")))
}
else{
@grid.GetHtml(columns: grid.Columns(
grid.Column("Name")
// Here I have not included Password and EmailAddress columns.
))
}
这是当你要隐藏的列满,但如果你想显示的列和隐藏只有特定的值,那么在这种情况下,什么是必须要做的?这也是能做到的,你可以像一个如果其他条件,显示如下...
@grid.GetHtml(
columns: grid.Columns(
grid.Column(header: "Edit", format: item => item.CanEdit ? Html.ActionLink("Edit","Edit","Person",new {id = item.PersonId},null) : Html.Raw("uneditable")),
grid.Column(columnName: "CanEdit", header: "Editable?"),
grid.Column(columnName: "DisplayName", header: "Display Name"),
grid.Column(columnName: "Email", header: "Email")
)
)
请编辑 – sameer
一个不太繁琐的更简单可读的代码(只有一年半以后)。
var columnsToAdd = new List<WebGridColumn>();
///here add yout collumns according to conditions
@grid.GetHtml(columns: columnsToAdd.ToArray())
显示你当前的代码 – Shyju
@Shyju代码片段addded – sameer