Kendo Grid - 列/链接文本

时间:2014-08-27 15:21:48

标签: c# asp.net kendo-ui kendo-grid kendo-asp.net-mvc

我正在使用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>

1 个答案:

答案 0 :(得分:0)

您可以在代码下方使用..

.ClientTemplate("<a title=\"#=FileName#\">#=FileName#</a>")

我希望这对你有帮助..