Как показать ICollection как одну строку в GridController в c#, wpf - PullRequest
0 голосов
/ 04 августа 2020

У меня есть объект «Пользователь», который содержит коллекцию ICollection «Телефон». Я хочу отобразить их в TableView-GridController из Dev Express в одном столбце, как указано ниже:

<dxg:GridColumn VisibleIndex="2"
        FieldName="User.Phone"
        IsSmart="True"
        ReadOnly="True"
        MinWidth="120"
        Header="Phone" />

Я попытался создать новую переменную в своей сущности, которая несет весь этот телефон в одной строке, как указано ниже:

[NotMapped]
public string AllPhones
{
   get
   {
      string allPhones = "";
      if (Phone != null) 
      {
         foreach (var p in Phone)
         {
            allPhones += p.Lable + "\n";
         }
      }              
            return allPhones;
   }
}

преобразовано FieldName="User.Phone" в FieldName="User.AllPhones" Но это не работает.

Есть другой способ решить эту проблему, например, показать телефоны в DropDownList или показать первый.

Ниже приведены данные, как я помещаю в GridController

var qry = SharedBll.Db.Patient.Take(100);
ContactGridControl.ItemsSource = qry.ToList();

1 Ответ

0 голосов
/ 04 августа 2020

Попробуйте явно включить телефоны, используя активную загрузку :

var qry = SharedBll.Db.Patient.Include(x => x.Phone).Take(100);
ContactGridControl.ItemsSource = qry.ToList();
...