DataRow aus einem DataGrid lesen

Gambl

Grünschnabel
Hallo,

ich möchte eine DataRow, die markiert ist aus einem Datagrid lesen.
Die Jeweiligen Elemente der DataRow möchte ich dann in einer anderen Form z.B. in Textboxen anzeigen lassen.

Kann mir vielleicht jmd helfen

thx
 
Hi Gambl!

Ich gehe davon aus, dass du mit dem DataGrid Werte einer Datenbank anzeigst. Wenn du nun eine Zeile auswählst, kannst du dir die Zeilennummer ermitteln lassen und damit die jeweilige Zeile aus der Datenbank auslesen.

Konkret ein Beispielcode:
Code:
// Vorgang mit Button starten
private void button1_Click(object sender, System.EventArgs e)
{
	// Nummer der markierten Zeile ermitteln
	int i = dataGrid1.CurrentRowIndex;

	// Verbindung mit OLEDB
	string conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=pfad";

	OleDbConnection conn = new OleDbConnection(conStr);
	ds = new DataSet();
	// Alle Spalten der Zeile "i"
	string selStr = "SELECT * FROM Datenbank WHERE ID = "+i.ToString();
	OleDbDataAdapter da = new OleDbDataAdapter(selStr, conn);
	
	try
	{
		conn.Open();
		// DataSet mit Werten füllen
		da.Fill(ds, "Dataset");
		conn.Close();
	}
	catch (Exception ex)
	{
		MessageBox.Show(ex.Message);
		return;
	}
	
	// Temporäre Datentabelle
	DataTable dt = ds.Tables["Dataset"];
	// Zeile in Datentabelle wählen (nur 1 Zeile)
	DataRow dRow = dt.Rows[0];
	// Array mit allen Werten der gewünschten Zeile
	string[] dataSet = new string[100];
				
	for (int n=0; n<dt.Columns.Count; n++)
	{
		// Array füllen
		dataSet[n] = Convert.ToString(dRow[n]);
	}

	// z.B. TextBoxen mit den entsprechenden Werten zuordnen
	textBox1.Text = dataSet[0];

	// ... und so weiter ...
}
 
Zurück