Avatar billede weeelo Nybegynder
03. december 2008 - 10:15 Der er 6 kommentarer og
1 løsning

DataGridViews og Refresh()

Hej eksperter,

Jeg har to DataGridViews i en musikafspiller. Den ene håndterer søgeresultater og den anden håndterer playlisten. De er begge bundet til en List<Song> og det fungerer fint.

Jeg kan sortere i mine lister og kalde Refresh() - det virker fint. Men når jeg foretager en ny søgning og dermed opdaterer listen, så sker der intet på Refresh(). Det kan dog fixes ved at jeg lave en ny databinding:

            BindingSource bs2 = new BindingSource();
            bs2.DataSource = _searchlist.Songlist;
            searchlist.DataSource = bs2;

Men kan det være rigtigt, at jeg skal det? Jeg har prøvet med Update(), og at først bruge Hide() og så Show(), men der er ikke rigtig noget der virker.

Mvh Søren
Avatar billede aaberg Nybegynder
03. december 2008 - 10:46 #1
List<T> understøtter egentlig ikke denne slags databinding fuldt ud. Prøv at skifte den ud med en BindingList<Song>, det skulle gerne fikse dit problem.
Avatar billede weeelo Nybegynder
03. december 2008 - 19:22 #2
Ok, men så vidt jeg kan se har BindingList<T> ingen Sort funktion?
Avatar billede aaberg Nybegynder
03. december 2008 - 21:10 #3
Nej, det har du ret i, og nu når jeg tænker mig om, kommer jeg i tanke om at samme problem tit har irriteret mig!

Jeg kan desværre ikke huske om jeg nogensinde fandt en elegant løsning!

Du kan eventuelt overveje at bruge en anden slags liste som understøtter sortering. Jeg har ofte brugt denne:
http://www.codeproject.com/KB/list/ObjectListView.aspx
Avatar billede weeelo Nybegynder
08. december 2008 - 20:04 #4
I princippet kan man nøjes med at binde datagridview'et igen, i stedet for at kalde Refresh(). Det virker, men er det en fornuftig måde at gøre det?
Avatar billede aaberg Nybegynder
08. december 2008 - 21:50 #5
Tja, det er jo ikke ligefrem en elegant løsning. Men virker det så virker det.
Avatar billede weeelo Nybegynder
09. december 2008 - 21:23 #6
Præcis - de elegante løsninger ligger dog ikke altid lige for fødderne af en :) Men en ny binding må blive løsningen for nu. Smid et svar, hvis du vil have lidt point for hjælpen.
Avatar billede aaberg Nybegynder
09. december 2008 - 21:31 #7
:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester