Невозможно отобразить шаблон столбца - PullRequest
0 голосов
/ 02 января 2012

У меня проблема с отображением шаблона столбца с помощью Telerik Grid для MVC. В настоящее время я использую последнюю версию: 2011.3.1115.340 с ASP.NET MVC 3 (механизм просмотра Razor)

Это код моей страницы просмотра:

@{
    Html.Telerik().Grid<CustomerModel>()
        .Name("CustomersGrid")
        .DataKeys(keys =>
                      {
                          keys.Add(c => c.Id);
                      })
        .ToolBar(commands => commands.Insert().ButtonType(GridButtonType.Text).ImageHtmlAttributes(new {style = "margin-left:0"}))
        .DataBinding(dataBinding =>
                         {
                             dataBinding.Ajax()
                                 .Select("_SelectBinding", "Customers")
                                 .Insert("_InsertBinding", "Customers")
                                 .Update("_SaveBinding", "Customers")
                                 .Delete("_DeleteBinding", "Customers");
                         })
        .Columns(columns =>
                     {
                         columns.Bound(c => c.Id).Width(20).ReadOnly(true);
                         columns.Bound(c => c.Email);
                         columns.Bound(c => c.Lastname);
                         columns.Bound(c => c.Firstname);
                         columns.Bound(c => c.MobilePhone);
                         columns.Bound(c => c.EnterpriseName);
                         columns.Bound(c => c.ManagementComments);
                         columns.Bound(c => c.IsActivated);
                         columns.Template(
                             @<text>
                                  <div>@item.Id</div>
                              </text>
                             ).Title("Premium");
                     })
        .Editable(editing => editing.Mode(GridEditMode.InLine))
        .Pageable()
        .Sortable()
        .ClientEvents(events => events.OnComplete("Grid_onComplete")).Render();
}

В моей сетке есть столбец шаблона "premium", но он все еще пуст:

http://www.imagup.com/data/1140161102.html

Я также тестирую без Render (), тот же результат:

@(Html.Telerik().Grid<CustomerModel>()
        ... blabla ...
                         columns.Template(
                             @<text>
                                  <div>@item.Id</div>
                              </text>
                             ).Title("Premium");
                     })
        .Editable(editing => editing.Mode(GridEditMode.InLine))
        .Pageable()
        .Sortable()
        .ClientEvents(events => events.OnComplete("Grid_onComplete"))
)

Спасибо за вашу помощь!

1 Ответ

2 голосов
/ 05 января 2012

Ваша сетка привязана к ajax, что означает, что шаблоны на стороне сервера не применяются.Вместо этого используйте ClientTemplate:

columns.Template(@<text>
   <div>@item.Id</div>
</text>)
.ClientTemplate("<div><#= Id #></div>")
.Title("Premium");
...