#c# #entity-framework #datagridview
#c# #entity-framework #datagridview
Вопрос:
У меня есть два объекта people
и house
, и я хочу показать таблицу people в datagridview, но в поле House
отображается значение Program.Model.House
; Вместо этого я хочу показать название улицы, как я могу это сделать? (Я использую Entity Framework и источник данных для представления таблицы данных, который я использую context.tolist()
)
public class People
{
public string Name { get; set; }
public House House { get; set; }
}
public class House
{
public string Street { get; set; }
public int Number { get; set; }
}
Ответ №1:
Переопределить toString() в собственном классе. Вот так :
public override string ToString(){ return $"Street: {Street}"; }
Ответ №2:
Вы хотели показать данные, подобные Name
и Street Name
В качестве имени вы можете использовать Model.Name
Для названия улицы вы можете использовать Model.House.Street
Например
@foreach(var item in Model)
{
<td> @Model.Name</td>
<td> @Model.House.Street</td>
}
Может ли это помочь вам
Ответ №3:
Просто создайте новый объект для представления в виде таблицы с названием улицы.
List<object> peopleData=new List<object>();
peopleData.Add(new{ ppl.Name,ppl.House.Street });
grdPeople.DataSource = peopleData;```