Entwickler-Ecke
WinForms - DataGridView Markierte Zeile in der Mitte anzeigen
edvazubi - Mo 24.06.19 11:43
Titel: DataGridView Markierte Zeile in der Mitte anzeigen
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:
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 Th69: Codeformatierung überarbeitet.
Th69 - 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).
edvazubi - 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 - Di 25.06.19 07:50
Hast du schon mal versucht die beiden Zeilen FirstDisplayedScrollingRowIndex und CurrentCell zu vertauschen?
edvazubi - Di 25.06.19 07:55
Und dann den Wert bei row.Cells[0] auf zum Beispiel 3 setzen?
Th69 - Di 25.06.19 08:31
Nein, ich meine
C#-Quelltext
1: 2:
| dataGridViewABC.CurrentCell = row.Cells[0]; dataGridViewABC.FirstDisplayedScrollingRowIndex = row.Index - 3; |
edvazubi - Di 25.06.19 08:40
Hat funktioniert. Ich stand irgendwie auf dem Schlauch, obwohl die Lösung so einfach war. Danke!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!