Hallo Martin,
Post by Martin Horstgibt es eine Möglichkeit, wie z.B. bei dem ListView Control
(BeginUpdate), daß Neuzeichnen eines DataGridView zu verhindern. Ich
fülle ein DataGridView von Hand und man sieht wie es sich ständig
neuzeichnet.
Es verschiedene Möglichkeiten die Performance
zu verbessern. Es gibt aber auch spezielle
Rich-Drawing-Features beim DataGridView, die
eine Aktualisierung ggf. verlangsamen
(TextRenderer).
Zunächst eine mögliche Lösung (Pseudo-Code):
private void Form1_Load(object sender, EventArgs e)
{
this.Show();
ZeigeMeldung("Fülle DataTable: Gedruckte_Seiten ...");
gedruckte_SeitenBindingSource.RaiseListChangedEvents = false;
this.gedruckte_SeitenTableAdapter.Fill(this.printVolumeDBDataSet.Gedruckte_Seiten);
gedruckte_SeitenBindingSource.RaiseListChangedEvents = true;
ZeigeMeldung("Gefüllt. Starte CurrencyManager.Refresh() ...");
gedruckte_SeitenBindingSource.CurrencyManager.Refresh();
ZeigeMeldung("Refresh ausgeführt!");
}
private void ZeigeMeldung(string meldung)
{
this.textBox1.Text += meldung + "\r\n";
textBox1.ScrollToCaret(); Application.DoEvents();
}
// =======================
Dinge wie DataSource neuzusetzen, würde ich
nicht empfehlen.
// =======================
Sehr schnell meist über die VirtualMode-Technik:
[Nutzung grosser Datenmengen beim DataGridView]
http://dzaebel.net/DgvVirtual.htm
ciao Frank
--
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET