Сложное связывание WebGrid в MVC 3 - PullRequest
1 голос
/ 19 мая 2011

Допустим, у меня есть такой родительский объект (в псевдокоде)

public Parent()
  string FirstName
  string LastName
  IEnumarable<Child> Children
  Child GetOldestChild()  <- A function that returns the oldest child in Children

public Child()
  string ChildFirstName
  string ChildLastName
  int ChildAge

Хорошо, поэтому я хочу связать WebGrid с IEnumarable , и в каждой строке я хочу отобразитьимя и фамилия родителя, а также имя / фамилия / возраст самого старшего ребенка.

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

grid.Column("FirstName")

Нополучение самых старых данных о детях - это то, что я не знаю, как это сделать.Это не работает, но это то, чего я хочу достичь:

grid.Column("GetOldestChild().ChildFirstName")

Надеюсь, мне не хватает чего-то простого ...

Ответы [ 2 ]

3 голосов
/ 19 мая 2011

Попробуйте так:

public Parent()
  string FirstName
  string LastName
  IEnumarable<Child> Children
  private Child GetOldestChild()
  public Child OldestChild { get { return GetOldestChild() } };

public Child()
  string ChildFirstName
  string ChildLastName
  int ChildAge

grid.Column("OldestChild.ChildFirstName")
1 голос
/ 06 февраля 2014

Вот решение, которое я придумал, которое позволит вам выполнить то, что вам нужно, без создания посторонних свойств в вашей модели, а также позволит вам получить параметризованные данные:

Привязка столбца MVC WebGrid к значению свойства словаря источника

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...