DataGridView - Datentabelle ändern und anzeigen

15/09/2008 - 12:15 von Werner Perplies | Report spam
Hi,

Ich sehe es einfach nicht:

Ich habe ein DataGridview, dem ich zwei Datatables im Wechsel zuweisen
möchte:
dtFounds ist die erste Tabelle, dtSplits ist die zweite Tabelle

dvFounds = new DataView(dtFounds);
bsFounds.DataSource = dvFounds;
dvSplits = new DataView(dtSplits);
bsSplits.DataSource = dvSplits;

Die Zuweisung zum DataGridView mache ich dann so:
dgvShown.DataSource = bsFounds;
oder
dgvShown.DataSource = bsSplits;

Das klappt auch, nachdem ich die Datatables neu erzeugt habe.

Ich möchte jetzt, dass der Anwender zwischen beiden Tabellen umschalten
kann.

Das klappt leider nicht, das DataGridView ist nach der neuen Zuweisung
leer.

Ich vermute mal, dass das DataGridView irgendeine Zusatzinfo benötigt, um
die unverànderte Datentabelle erneut anzuzeigen.

Wie mache ich das richtig?

Schon mal Danke für hilfreiche Hinweise.

Gruß

Werner
www.weepee.eu
 

Lesen sie die antworten

#1 Frank Dzaebel
15/09/2008 - 13:20 | Warnen spam
Hallo Werner,

Ich habe ein DataGridview, dem ich zwei Datatables im Wechsel zuweisen
möchte:
            dvFounds = new DataView(dtFounds);
            bsFounds.DataSource = dvFounds;
            dvSplits = new DataView(dtSplits);
            bsSplits.DataSource = dvSplits;
Das klappt auch, nachdem ich die Datatables neu erzeugt habe.
Ich möchte jetzt, dass der Anwender zwischen beiden Tabellen umschalten
kann.
Das klappt leider nicht, das DataGridView ist nach der neuen Zuweisung
leer.



Bei mir klappt das allerdings ...
zum Beispiel mit folgendem Code:

DataView dvFounds;
DataView dvSplits;
BindingSource bsFounds;
BindingSource bsSplits;

private void Form1_Load(object sender, EventArgs e)
{
this.masterTableAdapter.Fill(this.frankDataSet.Master);
this.personTableAdapter.Fill(this.frankDataSet.Person);

dvFounds = new DataView(frankDataSet.Person);
dvSplits = new DataView(frankDataSet.Master);
bsFounds = new BindingSource();
bsSplits = new BindingSource();
bsFounds.DataSource = dvFounds;
bsSplits.DataSource = dvSplits;
}

private void button1_Click(object sender, EventArgs e)
{
dgvShown.DataSource = bsFounds;
}

private void button2_Click(object sender, EventArgs e)
{
dgvShown.DataSource = bsSplits;
}

____________

Schàtzungsweise also ein simpler Logikfehler o.à.
falscher EventHandler etc. in Deinem Code.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen