Got 2 Listboxen: Patienten und Sitzungen. Notwendigkeit, gefilterte (mit Linq-Abfrage) Informationen in der zweiten anzuzeigen, basierend auf Mehrfachauswahl in der ersten.Listbox mit Linq und Mehrfachauswahl
Kommentierte Zeichenfolge funktioniert, aber nur ein Element in der ersten Listbox ausgewählt werden kann.
Ich weiß auf jeden Fall, dass es erfolgreich Patienten zu List-Variablen erfasst, aber wenn ich Contains verwendet, ist die zweite Listbox leer.
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
DataClasses1DataContext dbContext = new DataClasses1DataContext();
List<string> selectedItems = (from object o in listBox1.SelectedItems select listBox1.GetItemText(o)).ToList();
listBox2.DataSource = dbContext.Sessions
//.Where(pID => pID.PatientID == listBox1.GetItemText(listBox1.SelectedValue))
.Where(pID => selectedItems.Contains(pID.PatientID));
listBox2.DisplayMember = "Start";
listBox2.ValueMember = "SessionID";
}
Session und DbContext Klassendefinitionen:
public partial class Session : INotifyPropertyChanging, INotifyPropertyChanged
{
...
public int SessionID
{
...
}
public string PatientID
{
...
}
}
public partial class DataClasses1DataContext : System.Data.Linq.DataContext
{
...
public System.Data.Linq.Table<Session> Sessions
{
...
}
}
was Ihre Ausnahme? –
Keine Ausnahmen, es lädt nur empty listBox2. – Artem