我想为我的KendoGird使用自定义模板,我在网格中嵌套了详细信息 这是我的代码:
@(Html.Kendo()
.Grid(Model)
.Name("grid")
.Columns(columns =>
{
columns.Template(@<text></text>)
.ClientTemplate(
"<div>" +
"<div style=\"float:left\">#= SomeFeild1#</div>" +
"<div style=\"clear:both;\">" +
"#= SomeFeild2#" +
"</div>" +
"<div class=\"attache\" style=\"clear:both\">" +
"#=CreateGrid(Id)#" +
"</div>" +
"</div>");
})
.Sortable()
.Pageable()
.DataSource(dataSource => dataSource
.Ajax().PageSize(20)
.ServerOperation(false)))
并且此JavaScript函数以html格式返回嵌套详细信息:
function CreateGrid(id) {
return "Some more html";
}
一切正常,但很糟糕,如果我想做出最轻微的改变就很难 我怎么能以更清洁的方式做到这一点?
答案 0 :(得分:2)
你可以这样做:
columns.Bound(p => p.Column1).ClientTemplate("#= getTemplate() #");
<script>
function getTemplate() {
var html = kendo.format("<a href='{0}/{1}'>Show Product Details</a>",
param1,
param2
);
return html;
}
</script>
中的更多信息