Kendo Grid, изменяющий текст столбца - MVC 5, Razor

Я хочу удалить/скрыть гиперссылку ячейки/строки на основе условия, я использую пользовательский интерфейс Kendo для MVC с Razor.

Первый столбец связан гиперссылкой «Просмотр». Что мне нужно контролировать (удалить/скрыть) на основе значений другого столбца в той же сетке, то есть второго столбца «Фамилия».

т. е. когда элемент, привязанный к сетке, должен выполнять приведенную ниже логику.

Если текущая [LastName] == предыдущая [LastName], то скройте гиперссылку View, поэтому у меня будет только одна ссылка просмотра для пользователей с одинаковой фамилией.

Оцените любую помощь или предложения. Ниже приведен мой код для создания сетки.

@model IEnumerable<EDM2_UI.Models.ReportsViewModel>
@(Html.Kendo().Grid(Model)
.Name("advancedGrid")
.Columns(columns =>
{

    columns.Bound("ReportID").ClientTemplate("<a href='" + Url.Action("Index", "GRECandidateReport") + "/Index/#= ReportID #'" + ">View</a>").Title("").Width(50).Filterable(false);                
    columns.Bound(p => p.LastName).Title("Last Name").Width(130);
    columns.Bound(p => p.TestName).Title("Test Name").Width(130).Filterable(false);
    columns.Bound(p => p.TestDate).Width(130);

})
.Pageable()
.Sortable()
.Scrollable(scr => scr.Height(500))
.Resizable(resize => resize.Columns(true)) 
.Filterable()
.Groupable()
.DataSource(dataSource => dataSource
    .Ajax()
    .PageSize(100)
    .ServerOperation(false)
    )
)

person Srééjîth Náîr    schedule 11.06.2014    source источник


Ответы (1)


Вы должны иметь возможность поместить условный оператор внутри ClientTemplate. Сначала вам нужно определить URL-адрес в модели представления и оставить его пустым там, где он не нужен. Тогда что-то вроде этого должно работать в ваших представлениях:

.ClientTemplate("# if (ReportIDLink != '') { # <a href='#= ReportIDLink # '>View</a> # } else { # <div>#= ReportID #</div> # } #")
person Andrew Merritt    schedule 11.06.2014