Telerik MVC Grid.Как привязать к обнуляемому столбцу - PullRequest
1 голос
/ 03 июня 2011

У меня есть сетка со столбцом, который содержит обнуляемые данные

Html.Telerik().Grid(Model)
   .Columns(columns =>
    {
       columns.Add(o => o.Foo);
    }

Это работает, но показывает что-то вроде [object Object] на клиенте. Предположительно, это должно показать Foo.Name, я попытался переопределить ToString () в Foo - не сработало, я попытался изменить это на columns.Add(o => o.Foo.Name);, но тогда он не хочет отображать всю сетку. Я пытался использовать columns.Bound(o => o.Foo.Name); - безрезультатно. Кстати, в чем разница между Add() и Bound()?

Ответы [ 2 ]

3 голосов
/ 06 июня 2011

Я бы использовал шаблон колонки, чтобы сделать это.Вот код

Html.Telerik().Grid(Model)
   .Columns(columns =>
    {
       columns.Add(o => o.Foo).Template(o =>
       {
          %>
             <%= o.Foo != null ? o.Foo.Name : "" %> 
          <%
       })
       .ClientTemplate("<#= Foo != null ? Foo.Name : '' #>");
    }
2 голосов
/ 03 июня 2011

Предполагая, что Model является коллекцией RowData экземпляров, вы можете добавить получатель FooName в класс RowData:

public class RowData
{
    public string FooName
    {
        get { return Foo == null ? null :: Foo.Name; }
    }
}

Затем вы можете связать с FooName:

Html.Telerik().Grid(Model)
    .Columns(columns =>
    {
        columns.Bound(o => o.FooName);
    }

Я не могу проверить это в данный момент. Возможно, вам также нужен сеттер. Ничего не нужно делать.

И я понятия не имею, что делает Add(). Я никогда не использовал это.

...