2016-10-11 2 views
0

У меня есть кендо сетка зрения cshtml и я пытаюсь установить пользовательский шаблон для столбца платежей, вот код:Колонка в кендо сетки переопределен

@model IEnumerable<Models.YearlyRow> 

<div class="boxcenter"> 
    <div id="header"> 
     <h2>Title</h2> 
    </div> 
    <div id="kendo_grid"> 
    @(Html.Kendo() 
    .Grid(Model) 
    .Name("grid") 
    .ToolBar(toolbar => toolbar.Excel()) 
    .Columns(columns => 
    { 
     columns.Bound(c => c.Account.AccountName).Title("Account Name"); 
     columns.Bound(c => c.PlanName).Title("Plan Name"); 
     columns.Bound(c => c.Payments).Title("Payments").Template(
      @<text> 
       <strong>@item.Payments.Count</strong> 
      </text> 
     ); 
    }) 
    .DataSource(datasource => 
     datasource.Ajax().ServerOperation(false) 
    ) 
) 
    </div> 
</div> 

А вот YearlyRow модель :

public class YearlyRow 
    { 
     public Account Account { get; set; } 
     public string PlanName { get; set; } 
     public List<Payment> Payments { get; set; } 
     public YearlyRow() 
     { 
      Payments = new List<Payment>(); 
     } 
    } 

столбец платежей должен отображать все записи оплаты в пользовательской моде еще не реализована и просто отображение графа оплаты на данный момент.

Проблема заключается в том, что граф отображается очень кратко, а затем заменяется на «Объект объекта», который, как представляется, возвращается Payments.ToString(). Как избежать такого поведения? Я просто показываю, что я указал в шаблоне.

ответ

1

Вы используете Ajax binding так что вам нужен client template:

columns.Bound(c => c.Payments).Title("Payments") 
     .ClientTemplate(@"<text><strong>@item.Payments.Count</strong></text>"); 
Смежные вопросы