我正在使用C#asp.NET应用程序中的Kendo UI网格。
我从模型中填充了一个网格(参见下面的代码)。
在我的网格中,我返回3列,但我只想显示2.我想将FileName作为StreamId列链接中的文本返回。目前我必须硬编码"查看文档"作为链接文本,但我想根据文件名创建链接文本。
我的网格看起来像这样:
@(Html.Kendo().Grid<AnimalDocumentViewModel>()
.Name("AttachmentListGrid")
.HtmlAttributes(new {@class = "grid attachmentList"})
.Columns(columns =>
{
columns.Bound ( c => c.StreamId ).ClientTemplate ( "<a class='active' href='" + Url.Action ( "DownloadAttachment" , "Animal" ) + "?id=#= StreamId #'>"+"View Document"+"</a>" ).Title ( "" );
columns.Bound(c => c.FileName).Title(Resources.FileName);
columns.Bound(c => c.DocumentType).Title(Resources.Type);
})
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetAnimalDocumentsGridResult", "Animal", new {Model.AnimalId}))
//.Events(events => events.Error("error_handlerLogEventsList"))
)
.Navigatable()
.Sortable()
.AutoBind(true)
)
我目前正在使用Jquery来解决这个问题,但我不喜欢这样做:
<script>
$(document).ajaxSuccess(function () {
$("#AttachmentListGrid table tr td:nth-child(2), #AttachmentListGrid table tr th:nth-child(2)").hide();
$("#AttachmentListGrid table tr td:nth-child(2)").each(function () {
var a = $(this).text();
console.log(a);
$(this).parent().find("td:nth-child(1) a").text(a);
});
});
</script>
答案 0 :(得分:0)
您可以在代码下方使用..
.ClientTemplate("<a title=\"#=FileName#\">#=FileName#</a>")
我希望这对你有帮助..