Я новичок в mvc, но у меня было 2 года опыта работы с приложениями веб-форм на C #, у меня проблема с раскрашиванием команд в сетке Kendo.
Обычно в веб-формах я использую функцию RowDataBound
чтобы проверить значение столбца, затем используйте cssClass
для установки формы и цвета иконки.
Это будет примерно так:
LinkButton lbEdit = e.Row.Cells[7].FindControl("lbEdit") as LinkButton;
if (lbEdit != null)
{
if (User != null)
{
lbEdit.Visible = true;
lbEdit.CssClass = "fa fa-pencil-square-o text-muted fa-2x";
lbEdit.Enabled = false;
}
else
{
lbEdit.Visible = true;
lbEdit.CssClass = "fa fa-pencil-square-o text-success fa-2x";
lbEdit.Enabled = true;
}
}
Предыдущий код простоНапример, но я пытаюсь сделать то же самое с сеткой Kendo в моем новом приложении, как я могу это сделать?
Вот пример текущей сетки Kendo:
@(Html.Kendo().Grid<Requested>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.RequestNum).Width(200);
columns.Bound(p => p.ProposedAppTitle).Width(200);
columns.Bound(p => p.StatusId);
columns.Bound(p => p.OriginatingDeptName);
columns.Bound(p => p.AssignedPaUsername);
columns.Bound(p => p.ProposedAppTitle);
columns.Command(command =>
{
command.Custom("Edit").Text(" ").SendDataKeys(true).HtmlAttributes(new { @title = "Edit" }).IconClass("fa fa-pencil-square-o text-success fa-lg").Click("Edit");
})
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(5)
.Model(model =>
{
model.Id(p => p.Id);
})
.Read(read => read.Action("Read", "Requested"))
)
.Pageable()
.Sortable()
.Filterable()
)