Как грамотно передать отобранные по запросу данные(строки) из бд в класс, а из класса на другую форму в DataGrid

Рейтинг: 0Ответов: 1Опубликовано: 12.04.2023

Сначала делаю запрос на выбор нужного района, потом по его айдишнику выбираю нужные записи из другой таблицы. Заношу в класс как список, но как я понимаю, вносится только первое значение(строка), не знаю как сделать так,чтобы вводились несколько записей

Форма 1

    public List<AreaInfo> AreaInfos = new List<AreaInfo>();
    private void one_Click(object sender, RoutedEventArgs e)
    {       

        var idArea = from Areas in Fields1Entities.GetContex().Areas where Areas.Name == "Верхнедонской район" select Areas;
       
        var choice = from Fields in Fields1Entities.GetContex().Fields where Fields.ID_area == idArea.FirstOrDefault().ID_area select Fields;

        var lol = choice.ToList();

        AreaInfo areaInfo = new AreaInfo()
            {

                //Picture = choice.FirstOrDefault().Picture,
                Name = lol.First().Name,
                Location = lol.First().Location,
                Year_of_study = lol.First().Year_of_study,
                Age = lol.First().Age,
                Conditions_of_exploitation = lol.First().Conditions_of_exploitation,
                Stocks = lol.First().Stocks,
                Develop = lol.First().Develop


            };
            AreaInfos.Add(areaInfo); 


        Window1 window1 = new Window1(AreaInfos);
        window1.Show();
        this.Close();
}
         

Форма 2

     public List<AreaInfo> AreaInfos { get; set; }

    public Window1(List<AreaInfo> areaInfos)
    {
        AreaInfos = areaInfos;
        InitializeComponent();
    }

     

   

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        data.ItemsSource = AreaInfos.ToList();
        
    }

Ответы

▲ 0

Не использовала класс, создала переменную, которую передала на другую форму со списком нужны данных, на второй форме получила данные в List и передала в DataGrid

Форма 1

    private void one_Click(object sender, RoutedEventArgs e)
    {

        var idArea = from Areas in Fields1Entities.GetContex().Areas where Areas.Name == "Верхнедонской район" select Areas;
        Debug.WriteLine("мас2" + idArea);
        var choice = from Fields in Fields1Entities.GetContex().Fields where Fields.ID_area == idArea.FirstOrDefault().ID_area select Fields;
        var lol = choice.ToList();           

        Window1 window1 = new Window1(lol);
        window1.Show();
        this.Close();

    }

Форма 2

 public List<Fields> Lol { get; }

    public Window1(List<Fields> lol1)
    {
        Lol = lol1;
        InitializeComponent();
    }

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        data.ItemsSource = Lol.ToList();
        
    }