Listenfeld Aktualisieren () in c #

8
%Vor%

auch,

%Vor%

auch,

%Vor%


Ich weiß, dass ich BindingList<T> verwenden kann, aber ich muss nur mit Array arbeiten.

können Sie mir helfen, wie kann ich Listbox aktualisieren?

    
ocanal 27.02.2011, 22:18
quelle

10 Antworten

0

versuche das folgende

%Vor%     
Bala R 27.02.2011, 22:20
quelle
10

meine erste Antwort auf Stapelaustausch hier.

C # .Net 4.0:

%Vor%

Ich habe festgestellt, dass die Datenquelle beim ersten Mal aktualisiert wird. Wenn es eingestellt ist und Sie versuchen, es erneut zu setzen, wird es nicht aktualisiert.

Also habe ich es auf null gesetzt, setze es auf dasselbe und es wurde mit diesem Problem korrekt angezeigt.

    
Grease 23.08.2013 13:52
quelle
2

Wurde nur mit

erledigt %Vor%

Verliert einfach den Link und holt alle Daten zurück.

    
Midnight 08.02.2012 20:48
quelle
2

ListBox aktualisiert nur seinen angezeigten Inhalt, wenn das Objekt, das an dataSource gebunden ist, seine eigenen Änderungen anzeigt. Das BindingSource-Objekt hat ein Ereignis namens DataSourceChanged. Wenn die Quelle zu einem anderen Objekt geändert wird, aktualisiert sich die Listbox selbst. Das gleiche gilt, wenn Sie eine Liste binden. Wenn Sie die Liste ändern, wird nichts passieren, da die Liste nicht benachrichtigt, dass sie geändert wurde. Es gibt eine einfache Lösung für dieses Problem: BindingList verwenden Ссылка

Die BindingList hat das ListChanged-Event wird jedes Mal aufgerufen, wenn die List (offensichtlich) geändert wird. Daher verwenden die DataBindings von Windows.Form-Objekten Ereignisse wie ListChanged, um sich selbst zu aktualisieren. Eine einfache Liste unterstützt dieses Ereignis nicht.

SO wenn Sie mit vielen Datenbindungen arbeiten wollen, die Sie kennen sollten: Ссылка

    
user3803560 03.07.2014 23:25
quelle
1

Diese Links könnten helfen.

Wie kann ich einen Listbox-Eintrag (C #) aktualisieren? - Ссылка

ArrayList an ListBox binden - Ссылка

    
Divi 27.02.2011 22:48
quelle
1

Nun, ohne Bindung habe ich nur geschafft mit:

%Vor%

es zeichnet alles neu ...

    
dre 26.06.2011 15:44
quelle
1

Das Problem könnte vom ListBox SelectionMode kommen.

Aus einem Grund, den ich nicht kenne, funktioniert die Datenbindung nicht, wenn SelectionMode SelectionMode.None ist.

Eine Abhilfe könnte sein:

%Vor%

Ich hoffe, es hilft.

    
Nahtanoj 17.10.2013 10:42
quelle
0

Benutze BeginUpdate und EndUpdate, das sollte es lösen. Sie müssen die Datenquelle nicht zweimal festlegen

%Vor%     
Mitzi 27.02.2011 22:24
quelle
0

Ich habe ListBox geerbt und eine öffentliche Methode hinzugefügt, die RefreshItems() aufruft, was das tut, was wir wollen. Bereits implementiert und alle. Ich weiß nicht, warum sie keine öffentliche Methode einführten.

    
gdube 26.04.2012 20:59
quelle
0

Windows Forms, um Änderungen vor allem in Listbox und anderen Steuerelementen zu sehen, bevor der Ladevorgang beendet ist, ist schwierig. Um Daten als geladen zu sehen, verwenden Sie invalidate (); dann Update ();

    
Peter Chifamba 27.03.2014 13:49
quelle

Tags und Links