У меня есть одна таблица с именем Registry, в классе Registry.
Содержит
- Номер, Описание, People_id
People_id - это внешний ключ из таблицы People в классе People.
Содержит
- идентификатор, имя, дата рождения
Мне нужно показать все данные из таблицы реестра в DataGrid и возраст People_id (рассчитывается с датой рождения) в таблице реестра. Я уже могу получить все данные реестра и показать их в таблице данных, но мне не хватает части Age.
Я пытался с чем-то вроде этого. Получить данные реестра, чтобы получить даты рождения, выполнить расчеты и заполнить список только результатом возраста. Затем объедините два List с помощью метода Concat в новом List с именем CombRegistryAge, как показано ниже в первом методе.
public List<object> RegistryJoinAge()
{
List<object> ResultAge = new List<object>();
List<Registry> ListRegistry = new Registry().LoadRegistry();
//method LoadRegistry retrieve all items in Registry table
foreach (var item in ListRegistry)
{
var age = AgeCalculation(item.People.birth_date);
ResultAge.Add(age);
}
List<object> CombRegistryAge = ListRegistry.Cast<object>().Concat(ResultAge).ToList();
return CombRegistryAge;
}
Для метода AgeCalculation просто начать тестирование
private int AgeCalculation(DateTime birthdate)
{
var todayIs = DateTime.Today;
int age = todayIs.Year - birthdate.Year;
return age;
}
Но когда я вызываю метод, используя List CombRegistryAge в сетке данных
datagrid_fillData.ItemsSource = RegistryJoinAge();
Я все еще получаю данные реестра внутри, но не Age, и я заметил, что из таблицы данных он добавляет пустые строки для каждого вычисленного возраста, но в действительности мне нужно, чтобы они отображались как единое целое, что-то вроде этого в таблице данных .
- Id, Описание, People_id, Возраст
- 101, пройдено, 1802, 35
Это мое сомнение. Возможно, это проблема со списком, потому что я попытался изменить порядок списков в методе concat, но он показал пустую сетку.
Любая помощь с благодарностью.