Пикер SelectedItem и две разные таблицы БД - PullRequest
0 голосов
/ 16 февраля 2020

Я немного боролся с этим и, похоже, не могу найти решение. У меня есть средство выбора, которое отображает список условий колледжа. Связывание это не проблема. У меня также есть таблица курсов колледжа. Каждый курс должен быть привязан к определенному сроку. Я установил SelectedItem для свойства таблицы условий через событие SelectedIndexChanged. На отдельной странице я хочу отобразить SelectedItem с предыдущей страницы и список курсов колледжа, прикрепленных к этому термину. Прямо сейчас на новой странице отображаются все термины (имя изменено на SelectedItem и все курсы, независимо от того, к какому термину они прикреплены (через TermId).

Я подумал, что это должно быть сделано с запросом SQLite с использованием внутреннего соединения, но я не могу установить ListView ItemsSouce для этих результатов этого запроса (даже используя ToList();), и я даже не уверен, что это то, что я должен делать.

Я также думал о создании новой таблицы и вставке значений запроса в эту таблицу и ее привязке таким образом.

Любые советы о том, как лучше всего выполнить sh это?

Таблица терминов:

 public class Terms
    {
        [PrimaryKey, AutoIncrement]
        public int Id { get; set; }
        public string TermName { get; set; } 
        public string TermStatus { get; set; } 
        public DateTime TProjStart { get; set; }
        public DateTime TProjEnd { get; set; } 
        public DateTime TActStart { get; set; } 
        public DateTime TActEnd { get; set; }
        public string Pick { get; set; }
    }

Таблица курсов:

public class Courses
    {
        [PrimaryKey, AutoIncrement]
        public int Id { get; set; }

        public string CourseName { get; set; }
        public string CourseStatus { get; set; }
        public DateTime CourseStart { get; set; }
        public DateTime CourseEnd { get; set; }
        public string InstructName { get; set; }
        public string InstructEmail { get; set; }
        public string InstructPhone { get; set; }
        public string Notes { get; set; }
        public int TermId { get; set; }

    }

Предполагается, что TermId ссылается на термины. Это своего рода иностранный ключ, но я не могу на самом деле сделать его чужим, так что я подумал, что мне может понадобиться установить его вручную.

1 Ответ

1 голос
/ 17 февраля 2020

Теперь просто нужно выяснить способ отображения только курсов, привязанных к выбранному термину

var courses = db.Table<Courses>().Where(c => c.TermId == selectedTerm).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...