Datarow an DGV

09/04/2008 - 21:43 von ludwig Königbauer | Report spam
Hallo NG,
ich berechne Spalten in einer Datatable die ich über OleDb gefüllt habe.
jetzt stehe ich vor dem Problem, wie ich die berechnete Spalten, die einmal
mehr sein
können oder weniger zur Ausgabe an das Datagridvie weitergebe.
Wie kann ich die Datarows gewissermassen dynamisch an das GDV binden.
Kann mir jemand einen kurzen Tipp geben;
hier ist mein Code:


DataTable dt = new DataTable(); ;
adapter.Fill(dt);
connection.Close();

foreach (DataRow row in dt.Rows)
{
string val0 = (string)row["Herkunft"];
double val1 = (double)row["Wert1"];
double val2 = (double)row["Wert2"];

double retval = rechne(val1, val2);
if(retval <= 25)
{
listBox1.Items.Add(val0.ToString());
listBox2.Items.Add(retval.ToString("#,#0.00"));

for (int i = 0; i < 25; i++)
{
DataGridView dataGridView11 = new
DataGridView();
dataGridView11.Columns.Add("Herkunft",
"Herkunft");
dataGridView11.Columns.Add("Ausgabe",
"Ausgabe");

dataGridView11.DataSource = dt.Rows[i];
this.Controls.Add(dataGridView11);
}
}
}

Danke
und Grüße
Ludwig
 

Lesen sie die antworten

#1 Frank Dzaebel
09/04/2008 - 22:41 | Warnen spam
Hallo Ludwig,

ich berechne Spalten in einer Datatable die ich über OleDb gefüllt habe.
jetzt stehe ich vor dem Problem, wie ich die berechnete Spalten, die
einmal
mehr sein
können oder weniger zur Ausgabe an das Datagridvie weitergebe.
Wie kann ich die Datarows gewissermassen dynamisch an das GDV binden.



Gut, Dein Code war ja wohl nur so als "Tendenz" gemeint ;-)
Was Du machen willst, ist ein "Ergànzen des gebundenen Modus",
bzw. ein DataGridView im "gemischter Modus".
Lies dazu zunàchst die entsprechende Stelle:

[Virtueller Modus im DataGridView-Steuerelement in Windows Forms]
http://msdn2.microsoft.com/de-de/li...71622.aspx

Berechnete Spalten werden hàufig über das CellFormatting
implementiert, wenn die Standard-Formattierung unzureichend
ist:

[DataGridView.CellFormatting-Ereignis (System.Windows.Forms)]
http://msdn2.microsoft.com/de-de/li...formatting(VS.80).aspx

oder über die Expression-Eigenschaft der DataGridViewColumn,
etwa bei gebundenem DataTable.

Wenn Du es im mixed mode machst, dann

a) füge die maximale Anzahl der ungebunden Spalten
*einmal* hinzu.
b) setze die Werte der Zellen etwa so:
dgv[zeilenIndex, colIndex].Value = "mein Wert";
Der letzte SpaltenIndex ist:
anzahGebunderSpalten + anzahlUngebundener -1;

Problem "Sortierung" ggf. über VirtualMode lösen.


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

Ähnliche fragen