2009-04-30 14 views
1

Ich habe eine Datenrasteransicht, die ständig aktualisiert wird. Es funktioniert nicht so, wie ich es möchte.Datenrasteransicht ist langsam

Können Sie irgendwelche alternativen Steuerelemente vorschlagen, von denen Sie denken, dass sie Updates schneller verarbeiten werden?

Danke.

////////////

keine Bindung. wenn ich Datenquelle verwende, ist es noch schlimmer.

Ich aktualisiere ein Element wie DepthGridBid.Rows [i] .Cells [j] .Value = .. ich und j Indizes ich weiß von Update, dass ich erhalte.


implementierten virtuellen Modus. verglichen mit älterer Version. gemessenes Timing. es ist nicht schneller.

Wissen Sie noch andere Optionen?

Danke!

+0

Langsam ist subjektiv. Wie machst du die Updates? Ist das datengebunden? Ungebunden? Oder im virtuellen Modus? Wenn Daten gebunden sind, werden sie für jede Zeile oder für die gesamte Liste aktualisiert? –

Antwort

2

Wenn Sie die Daten nicht binden möchten und sich Ihre Daten schnell ändern, sollte der virtuelle Modus für Sie funktionieren.

// set the VirtualMode property to true 
dataGridView.VirtualMode = true; 

// handle the CellValueNeeded event 
dataGridView.CellValueNeeded += new 
    DataGridViewCellValueEventHandler(dataGridView_CellValueNeeded); 

Wenn Ihre Datenlänge immer das gleiche ist, müssen Sie nur auf Setup-Zeilen und Spalten einmal, und dann auch nur nennen Invalidate(), wenn Sie neue Daten empfangen, Datagridview zu informieren, dass sie neu streichen muss.

+0

danke! scheint so, als würde das besser für mich funktionieren – Anya

0

Sie müssen auch die Daten gerade rechtzeitig abfragen.
bitte schauen this

0

einfach das Maximum an Leistung, um aus dem DataGridView sollten Sie auch einen Blick in die DataGridView FAQ nehmen.