AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

listView zu langsam?

Ein Thema von faux · begonnen am 16. Sep 2005 · letzter Beitrag vom 19. Sep 2005
Antwort Antwort
Robert_G
(Gast)

n/a Beiträge
 
#1

Re: listView zu langsam?

  Alt 19. Sep 2005, 16:53
Da du (anhand des Screenies erkennbar) .Net 2.0 nimmst:
Schaue dir mal den DataGridView an. Das ist ein Hybride aus ListView und dem DataGrid.

Nur um das mal nachvollziehen zu können, habe ich mal eine ClassLib mit einer Klasse mit 2 Properties sowie einer BindingList, die eine Überladung für Add bekam angelegt:
Code:
public class SomeClass
{
    string someString;
    int someInt;

    public string SomeString
    {
        get { return someString; }
        set { someString = value; }
    }
    public int SomeInt
    {
        get { return someInt; }
        set { someInt = value; }
    }

    public SomeClass(int someInt, string someString)
    {
        this.someInt = someInt;
        this.someString = someString;
    }
}
Code:
public class SomeClassCollection : BindingList<SomeClass>
{
    public void Add(int someInt, string someString)
    {
        Add(new SomeClass(someInt, someString));
    }
}
Im WinApp Project wählst du über Data\Add Datasource deine Klasse (nicht die Collection) aus der ClassLib aus.
In der DataSource Ansicht kannst du nun den Mapping type der Klasse auf DataGridView stellen und sie danach einfach auf dein Form ziehen. *plopp* Ist der vorkonfigurierte DGV und eine BindingSource auf deinem Form.

Im Click handler des Buttons habe ich das reingepackt:
Code:
SomeClassCollection collection = new SomeClassCollection();
for ( int i = 0; i < 100000; i++ )
{
    collection.Add(i, i.ToString());
}
bindingSource1.DataSource = collection;
Draufdrücken -> *foomp* -> sofort sieht man die Daten...

Du kannst auch da virtual arbeiten wenn es dir nicht schnell genug ist. Ich habe noch keine Performance engpässe bei realistischen Datenmengen bemerkt. (Realistisch und praktikabler ist _wesentlich_ kleiner als 100.000! )

Auf die Art hast du netten Designtime support ohne auf ein lahmes DataSet ausweichen zu müssen, oder dir eine full fledged designtime Listen Klasse selbst schreiben zu müssen...

edit: noch 2 screenies angehängt
Angehängte Grafiken
Dateityp: png datasource.select_132.png (21,6 KB, 31x aufgerufen)
Dateityp: png datasource.designtime_187.png (47,3 KB, 27x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz