2014-08-27 64 views
0

我正在用Kendo UI的網格在C#asp.NET應用程序中工作。Kendo Grid - 列/鏈接文本

我有一個網格從模型填充(見下面的代碼)。

在我的網格中,我返回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

您可以通過用戶下面的代碼..

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

我希望這可能會幫助你..