Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Im Grid fixierte Zeilen/Spalten selektieren und editieren (https://www.delphipraxis.net/70572-im-grid-fixierte-zeilen-spalten-selektieren-und-editieren.html)

Fuchtel 1. Jun 2006 09:18


Im Grid fixierte Zeilen/Spalten selektieren und editieren
 
Hallo!

Hat jemand eine Idee, wie man in einem Grid Zeilen oder Spalten oben oder links so fixiert, daß sie beim scrollen zwar stehen bleiben, aber trotzdem selektier- und editierbar bleiben. (Ähnlich wie in MS Excel [Fenster][Fenster fixieren])

Einstweilen Danke im vorraus.

Fuchtel

marabu 1. Jun 2006 10:09

Re: Im Grid fixierte Zeilen/Spalten selektieren und editiere
 
Hallo.

Wenn du dein StringGrid bereits virtualisiert hast, dann sollte das kein so großes Problem darstellen. Wenn noch nicht, dann solltest du das zuerst angehen. Die zusätzlichen Programmzeilen zum Fixieren beliebiger Spalten und Zeilen dürfte sich dann in Grenzen halten.

Grüße vom marabu

Fuchtel 1. Jun 2006 10:56

Re: Im Grid fixierte Zeilen/Spalten selektieren und editiere
 
Hallo marabu,

Zitat:

Die zusätzlichen Programmzeilen zum Fixieren beliebiger Spalten und Zeilen dürfte sich dann in Grenzen halten.
blos mit welchem Ansatz soll ich da ran gehen, ohne das Rad ganz neu zu erfinden?

Gruß Fuchtel

marabu 1. Jun 2006 11:25

Re: Im Grid fixierte Zeilen/Spalten selektieren und editiere
 
Ich würde zuerst die FixedRows und FixedCols auf 0 setzen und durch CustomFixedRows und CustomFixedCols ersetzen um die interne Behandlung abzuschalten. Dann würde ich im Ereignis OnDrawCell() dafür sorgen, dass "fixierte" Zellen eine abweichende Färbung erhalten. Ich würde die ScrollBar-Steuerung übernehmen und den internen ScrollBar abschalten. Beim Rollen nach rechts würde ich den ColCount um eins reduzieren, beim Rollen nach links erhöhen. Entsprechendes gilt für vertikales Rollen. Nicht zuletzt brauche ich eine Adressumsetzung, die mir jederzeit darüber Auskunft gibt, welche virtuelle Datenzelle zu einer realen Datenzelle gehört und umgekehrt, damit ich im OnDrawCell() die richtigen Texte übergebe.

Jetzt bist du dran.

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz