In diesem Artikel wird kurz die Implementierung des verzögerten Ladens in häufig verwendeten Steuerelementen beschrieben.
1. Laden Sie die Daten, wenn die Benutzeroberfläche zum ersten Mal angezeigt wird. Wenn Sie beispielsweise viele Registerkarten haben, werden die Daten nur geladen, wenn der Benutzer zu dieser wechselt Tab.
Die virtuelle Methode SetVisibleCore wird in .NET Control bereitgestellt. Wenn der erkannte Wert wahr ist und diese Methode zum ersten Mal aufgerufen wird, wird Lazy Loading aufgerufen. Ich empfehle diese Methode jedoch nicht, da Sie bessere Orte haben.
- Wenn Ihr Steuerelement von Form oder UserControl erbt, wird empfohlen, OnLoad zu überladen.
– Wenn OnCreateControl von Control geerbt wird, kann es überlastet werden.
Hier ist ein Beispiel für verzögertes Laden von Daten:
öffentliche Klasse MyTabPage: TabPage {
protected override void OnCreateControl() {
base.OnCreateControl();
string oldText = this.Text;
this.Text = "Loading..";
//TODO: Rufen Sie hier die Methode zum Laden von Daten auf
this.Text = oldText;
}
}
2. Das Tree Control wird geladen, wenn es zum ersten Mal erweitert wird.
Da nicht alle Knoten in TreeView von Control erben, können Sie die obige Methode nicht verwenden. TreeView bietet jedoch die virtuelle Methode OnBeforeExpand. Die einfachste Möglichkeit besteht darin, dem Knoten, den Sie planen, eine geladene Markierung hinzuzufügen Erkennen Sie bei der ersten Erweiterung diese Markierung.
Sie müssen bedenken, dass Ihr Lazy-Loading-Knoten dieses Ereignis nicht am Root-Standort empfangen kann.
3. Lazy Loading in Tabellen.
In Windows-Programmen verwenden einige Paging, um verzögertes Laden zu implementieren, aber die Benutzererfahrung dieser Methode ist sehr schlecht. Wenn Sie dennoch Bildlaufleisten verwenden möchten, können Sie die IBindList-Schnittstelle selbst implementieren, die intern eine Liste von Daten-IDs enthält. Wenn das Formular nach Daten fragt, kann es gut funktionieren, die Daten in die Datenbank zu laden.
Hier ist jedoch etwas zu beachten: Wenn der Benutzer beispielsweise PageDown drückt, ruft das Tabellensteuerelement die Datenerfassungsmethode kontinuierlich auf. Wenn die Datenbank bei jeder Anforderung aufgerufen wird, sollte die Leistung sehr gering sein. vorhergesagt" auf Sie müssen möglicherweise 50 Datenteile lesen, damit Sie 50 weitere Daten gleichzeitig lesen können.
Diese Methode bietet keine Lösung für die Tabellensortierung.
Die oben genannten sind die allgemeinen Techniken der Lazy-Loading-Technologie. Wenn Sie eine bessere Methode haben, klären Sie mich bitte auf.