tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von cuchulainn
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
1915
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    cuchulainn cuchulainn ist offline Mitglied Bronze
    Registriert seit
    Sep 2003
    Ort
    Saarbrücken
    Beiträge
    47
    Hallo,

    ich arbeite mich gerade mit einem kleinen Programm in C# ein. In diesem Programm verwende ich ein DataGridView. Nun möchte ich herausfinden, welche Zeile der Benutzer angeklickt und markiert hat. Ich versuche es mit der Eigenschaft selectedRows, aber da komme ich leider nicht weiter.

    Kann mir jemand einen Tipp geben?
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Nur zum Zahl bekommen weiß ich jetzt auf Anhieb auch nichts, aber auch möglich wäre ein Event:
    System.Windows.Forms.DataGridViewCellEventHandler in das Attribut RowEnter der DataGridView
     

  3. #3
    freakbrother freakbrother ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Ort
    Ostmanien
    Beiträge
    33
    Implementiere z.B. das Event RowEnter deiner DataGridView und du bekommst über DataGridViewCellEventArgs e
    (e.RowIndex) die aktuell angewählte Zeilennummer
     
    Ich bin ein Kind ein deppertes, in meinem Hirn da scheppert es...

  4. #4
    cuchulainn cuchulainn ist offline Mitglied Bronze
    Registriert seit
    Sep 2003
    Ort
    Saarbrücken
    Beiträge
    47
    Vielen Dank für deine Antwort. Ich habe eine Lösung gefunden. Und zwar greife ich mit myDataGridView.selectedRows[i] auf die ausgewählten Zeilen zu und kann sie in einem Objekt vom Typ DataGridViewRow speichern. Mit der Eigenschaft .cells kann ich wiederum auf die einzelnen Zellen der Zeile zugreifen.

    // Erste ausgewählte Zeile.
    DataGridViewRow row = myDataGridView.SelectedRows[0];
    int zelle1 = (int)row.Cells[0].Value;
    int zelle2 = (int)row.Cells[1].Value;

    Vielleicht interessiert das irgendwann ja noch jemand anderen
    CShark bedankt sich. 

  5. #5
    freakbrother freakbrother ist offline Mitglied Bronze
    Registriert seit
    May 2007
    Ort
    Ostmanien
    Beiträge
    33
    No probs .

    Jo geht natürlich auch dann würde ich es aber so machen das ich wirklich alle markierten Zeilen und alle markierten Spalten in einer KeyValue List speichere. Wegen multiselect
    Außerdem musst du aufpassen: du kannst nicht immer davon ausgehen das dein row.Cells - Value wert in einen int - Wert geparst werden kann Würd ich mit Int.TryParse abfangen.

    grobes Beispiel:

    List<KeyValuePair<int, DataGridViewCell>> listKeyValRowCell = new List<KeyValuePair<int, DataGridViewCell>>(20);
    foreach (DataGridViewRow row in DataGridView.SelectedRows)
    foreach (DataGridViewCell cell in row.Cells)
    if (cell.Selected)
    listKeyValRowCell.Add(new KeyValuePair<int, DataGridViewCell>(row.Index, cell));

    aber es gibt viele Wege ..
    Geändert von freakbrother (13.09.10 um 13:52 Uhr)
     
    Ich bin ein Kind ein deppertes, in meinem Hirn da scheppert es...

Ähnliche Themen

  1. [C# 2.0] geänderte DataGridView-Zeile markieren
    Von lukasS im Forum .NET Windows Forms
    Antworten: 5
    Letzter Beitrag: 11.05.10, 14:54
  2. DataGridView Neue Zeile
    Von Hawkings im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 14.04.08, 14:56
  3. Neue Zeile in DataGridView
    Von DaSuckOOr im Forum .NET Datenverwaltung
    Antworten: 2
    Letzter Beitrag: 04.04.07, 07:49
  4. Zeile aus DataGridView lesen
    Von beso im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 10.12.06, 14:44
  5. Markierte Dateien ermitteln
    Von isicom im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 31.10.06, 11:15