我有一個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