Autor Beitrag
daeve
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 116
Erhaltene Danke: 3

Windows (XP Pro, 7 Ultimate x64)
C#,WPF,Java,ASP.Net, VS 2010 Ultimate (x86)
BeitragVerfasst: Sa 10.12.11 16:18 
Hallo zusammen

ich habe eine List die ich mit einer BindingSource mit einem DGV verbunden habe.

Jetzt sollen Daten gefiltert werden können, das filtern funktioniert soweit aber wenn ich dann wärend dem
Filtern Daten bearbeite im DGV, kann ich diese nicht abspeichern, beziehungsweise wird die List nicht aktualisiert.

so lade ich das DGV
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
private void FillDataGridView()
        {
            bs.DataSource = BookList;
            dgvBook.DataSource = bs;
                         
        }


so filtere ich die Daten:
ausblenden C#-Quelltext
1:
bs.DataSource = BookList.Where(x => x.Price > 10).ToList();					


und die BookList wird so nicht mehr aktualisiert.

wie könnte ich das lösen ?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Sa 10.12.11 18:34 
Zitat:
und die BookList wird so nicht mehr aktualisiert.


Weil du BookList nicht an das DataGridView gebunden hast sondern die Liste die aus ToList() rauskommt und diese wird sicherlich aktualisiert.

Es gibt mehrere Möglichkeiten das zu lösen zum Beispiel

1. BookList binden und das Filtern über die BindingSource lösen der Listentyp von BookList muss dann Filtern unterstützen (Stichwort IBindingListView Interface)
2. So wie bisher aber die tatsächlich gebunden Liste merken und nach dem Bearbeiten diese Liste in BookList zurückmergen.
3. ....
daeve Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 116
Erhaltene Danke: 3

Windows (XP Pro, 7 Ultimate x64)
C#,WPF,Java,ASP.Net, VS 2010 Ultimate (x86)
BeitragVerfasst: Sa 10.12.11 20:49 
okey, danke !

ich habe das ganze jetzt mit einer DataTable gelöst.