我知道有关条件DetailView的问题,但我觉得这不是我想要的。我一直在搞乱Telerik Grid for MVC,我已经设法为我的网格中的行创建了一个DetailView。事情是截至目前,我的DetailView充满了HTML代码,我想在里面有一个新的模型。
基于一列值,我想仅为匹配该列值的行创建DetailView。因此,例如,如果Column“Type”等于Fruit,它将为它创建一个DetailView(带有“+”符号)。现在如果“Type”是Vegetable,它不应该创建DetailView(没有“+”符号)。
我目前的代码如下:
Html.Telerik().Grid<SearchViewModel>(Model)
.Name("Search")
.Columns(columns =>
{
columns.Bound(o => o.Type).Width(60);
//etc.
})
//.PrefixUrlParameters(false)
.DetailView(detailView => detailView.ClientTemplate(
"<div>" +
"<h5><span>Details for Type:</span></h5><div><#= DetailsType #></div>" +
"</div>"
))
如您所见,我为网格中的每一行创建了DetailView。
另外,我发现一个JavaScript隐藏了某些条件的plussign,但是它在初始加载时不起作用(只有在我做了过滤,分页或刷新请求之后)。脚本绑定了.OnRowDataBound。
function hidePlusSign(e) {
var row = e.row;
var dataItem = e.dataItem;
if (dataItem.Type != "Fruit") {
$('a.t-icon', e.row.cells).css('display', 'none');
}
答案 0 :(得分:1)
您需要做的只是在详细视图中添加条件,它看起来像这样:
"<# if (DetailsType == 'MyType') { #>" +
"<div>some html code here</div>" +
"<# } else { #>" +
"<div>another html code here</div>" +
"<# } #>" +