Zum Inhalt springen

Inhalt einer Zelle aus einem DataTabel in einer TextBox ausgeben


Empfohlene Beiträge

Geschrieben

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);


      } 

    }

Geschrieben

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.

Geschrieben

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);

        }

      }

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...