[WinForms][DataGrid] Zelleninhalt von einer Position ermitteln


  • Administrator

    Frage
    Wie ermittle ich den Zelleninhalt einer Position (z.B. von der Maus) auf einem DataGrid ?

    Antwort
    Dazu bietet die Klasse DataGrid die Methode HitTest . Daran übergibt man entweder eine Point -Struktur oder direkt die X- und Y-Koordinaten. Man erhält ein Objekt der Klasse DataGrid.HitTestInfo zurück mit Informationen zu Reihe, Kolonne und Typ worauf geklickt wurde.

    Beispiel

    private void DataGridMouseDown(object sender, MouseEventArgs e)
    {
      var hitInfo = dataGrid.HitTest(e.X, e.Y);
    
      if(hitInfo.Type == DataGrid.HitTestType.Cell)
      {
        string content = dataGrid[hitInfo.Row, hitInfo.Column].ToString();
    
        MessageBox.Show(content);
      }
    }
    

Anmelden zum Antworten