RastaROCKET Geschrieben 23. September 2004 Geschrieben 23. September 2004 Hallo Freaks!! Ich sizte zur zeit an einem Oracel-Client. Dieser bekommt über eine Textbox ein Sql-String übergeben. Dieser wird abgesendet und die Ergebnisse werden in einnem DataGrid angezeigt. Das funkt auch schon ganz gut. Da der Inhalt einer Zelle einer Tabell sehr groß sein kann und das DataGrid bei zu vielen Daten wohl möglich das ****en anfängt, versuche ich jetzt den Inhalt der Zelle in einer seperaten Form mit Textbox anzeigen zu lassen. Ich bin mitlerweile so weit, das die Form aufspringt sobald ich auf eine der Zellen im DataGrid klicke. Mein Problem liegt nun darin, wie ich den Inhalt der Zelle in die Textbox gekomme. Kann ich diese Info aus dem DataTabel ziehen oder muss ich noch zusätzlich ein seperaten Sql-String absetzen welcher sich direckt auf die angewählte Zelle bezieht! Ich muss dazu sagen, dass ich erst 3 Woch dabei bin und fals ich irgendwas falschen sage bitte gleich sagen Hier noch ein paar Codefetzen: [C#] //Connection, Abfrage und Visualisierung im DataGrid private void Find() { dataGrid1.DataSource = null; OracalConnection conn = new OracleConnection(connstring); conn.Open(); string sql = rtb.Text; OracleDataAdapter adapter = new OracleDataAdapter(sql,conn); adapter.Fill(dt); DataView view = new DataView(dt); dataGrid1.DataSource = view; } //Feststellen der Positon im DataGrid und öffenn der TextBox private void dataGrid1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { //dataGrid1.HitTest( Form3 form = new Form3(); System.Drawing.Point point = new Point(e.X, e.Y); DataGrid.HitTestInfo hit = dataGrid1.HitTest(point); if(hit.Type == DataGrid.HitTestType.Cell) { dataGrid1.CurrentCell = new DataGridCell(hit.Row, hit.Column); dataGrid1.Select(hit.Row); form.ShowDialog(this); } }
Gerner Geschrieben 24. September 2004 Geschrieben 24. September 2004 dataRowView = dataView[dataGrid.CurrentRowIndex]; Das übergibst Du an deine andere Form und in der schreibst Du dann: textBox1.Text = drv["XXX"].ToString(); Ansonsten kannste Dir auch mal DataBinding anschauen, falls alles auf einer Form liegt ist es sehr einfach.
RastaROCKET Geschrieben 24. September 2004 Autor Geschrieben 24. September 2004 Ich hab das Problem jetzt so gelöst: Trotzdem vielen Dank für die Hilfe!!!! private void dataGrid1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { Form3 form = new Form3(); System.Drawing.Point point = new Point(e.X, e.Y); DataGrid.HitTestInfo hit = dataGrid1.HitTest(point); if(hit.Type == DataGrid.HitTestType.Cell ) { dataGrid1.CurrentCell = new DataGridCell(hit.Row, hit.Column); string text = (string)dt.Rows[hit.Row][hit.Column]; dataGrid1.Select(hit.Row); if (text.Length > 20) { form.richTextBox1.Text = text; form.ShowDialog(this); } }
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden