Autor Beitrag
edvazubi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Mo 24.06.19 11:43 
Hallo, ich hab da mal wieder eine Frage. Ich habe ein DataGridView in dem ich mit Hilfe einer Suche einen Wert im DataGridView angezeigt bekomme. Dies funktioniert soweit einwandfrei. Ich würde die markierte Zeile allerdings gerne nicht an oberster Stelle haben, sondern an dritter oder vierter, sodass ich über ihr und unter ihr Werte sehe. Wie bekomme ich das hin? Mit folgendem Code bekomme ich die Zele angezeigt:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
if (row.Cells[0].Value.ToString().Equals(search2))
{
    dataGridViewABC.ClearSelection();
    row.Selected = true;
    dataGridViewABC.FirstDisplayedScrollingRowIndex = row.Index;
    HideSuche();
    dataGridViewABC.CurrentCell = row.Cells[0];
    break;
}


Moderiert von user profile iconTh69: Codeformatierung überarbeitet.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mo 24.06.19 11:55 
Du verwendest doch schon FirstDisplayedScrollingRowIndex? Damit kannst du dann doch mit ein bißchen Mathematik den richtigen Wert setzen (mußt nur aufpassen, daß du nicht kleiner als 0 setzt).

Für diesen Beitrag haben gedankt: edvazubi
edvazubi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Di 25.06.19 07:36 
Das ich beim FirstDisplayScrollingRowIndex den richtigen Wert setzen kann ist mir bewusst, nur was ich auch mache, es passiert bei mir nichts...
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 25.06.19 07:50 
Hast du schon mal versucht die beiden Zeilen FirstDisplayedScrollingRowIndex und CurrentCell zu vertauschen?
edvazubi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Di 25.06.19 07:55 
Und dann den Wert bei row.Cells[0] auf zum Beispiel 3 setzen?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 25.06.19 08:31 
Nein, ich meine
ausblenden C#-Quelltext
1:
2:
dataGridViewABC.CurrentCell = row.Cells[0];
dataGridViewABC.FirstDisplayedScrollingRowIndex = row.Index - 3// <- und hier jetzt noch die Abfrage auf "< 0" einbauen

Für diesen Beitrag haben gedankt: edvazubi
edvazubi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Di 25.06.19 08:40 
Hat funktioniert. Ich stand irgendwie auf dem Schlauch, obwohl die Lösung so einfach war. Danke!