Toon posts:

[Delphi] weergave 9 DBGrids

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik heb een vraag m.b.t. de weergave van 9 DBGrids.
Ik heb op een formulier 9 DBGrids boven elkaar staan.
Nu wil ik als een DBGrid leeg is (na een filter) deze niet weergegeven wordt.
Dit lukt wel door visible op False te zetten.
Nu wil ik alleen ook dat de DBGrids die er onder staan aansluiten op de DBGrids die zichtbaar zijn.

Standaard weergave:
DBGrid1 (top=20)
DBGrid2 (top=40)
DBGrid3 (top=60)
DBGrid4 (top=80)
DBGrid5 (top=100)
DBGrid6 (top=120)
DBGrid7 (top=140)
DBGrid8 (top=160)
DBGrid9 (top=180)

Nu wordt er een filter actief en zijn bijv. DBGrid5 en DBGrid 7 leeg,
dus wordt nu de weergave:
DBGrid1 (top=20)
DBGrid2 (top=40)
DBGrid3 (top=60)
DBGrid4 (top=80)
DBGrid6 (top=100)
DBGrid8 (top=120)
DBGrid9 (top=140)

Is hier een makkelijke routine voor te schrijven,
of moet ik elke combinatie uitschrijven, wat nogal wat werk is?

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Zet de Align property van de grids op alTop.

We adore chaos because we like to restore order - M.C. Escher


  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 18:50

Delphi32

Heading for the gates of Eden

Was ook mijn eerste reactie, LL, maar krijg je dan geen problemen als je eerst Grid3 invisible maakt, alles schuift dus naar boven, en dan weer visible? Ik meen me te herinneren dat Grid3 dan ineens onderaan staat.
Ik zit dat net hier te testen in D6, het ziet er in eerste instantie goed uit, maar uiteindelijk blijkt dat de volgorde van visible/invisible zetten nogal van invloed is op de vraag of het grid uiteindelijk op z'n oorspronkelijke positie terugkomt :)

Verwijderd

Topicstarter
Ik heb het even bekeken met align=alTop,
alleen is het zo dat boven elke DBGrid ook een tekstlabel staat.
Ook komt alles dan heel kort op elkaar te staan en kun je verder met de positie niets doen!

  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 18:50

Delphi32

Heading for the gates of Eden

Dan zet je alles per blok op een panel (of een TFrame), en ga je de panels/frames visible or not maken :)

Verwijderd

Topicstarter
Daar ben ik nu mee bezig.
Dit lijkt me ook een goede oplossing.

Bedankt voor de informatie.

Verwijderd

Topicstarter
Ik heb het nu allemaal met panels gedaan en deze op Align = alTop gezet.
Deze vervolgens visible = true or False en schuiven de panels netjes op.
Is er nu alleen ook een mogelijkheid op de volgorde te bepalen?
Deze komt nl. niet op dezelfde manier terug!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:55

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op 07 oktober 2004 @ 11:08:
Ik heb het nu allemaal met panels gedaan en deze op Align = alTop gezet.
Deze vervolgens visible = true or False en schuiven de panels netjes op.
Is er nu alleen ook een mogelijkheid op de volgorde te bepalen?
Deze komt nl. niet op dezelfde manier terug!
Als je de panel.top goed zet dan komt deze weer in de juiste volgorde te staan. Je moet dan dus wel berekenen wat de top moet zijn om hem tussen twee andere panels in te plaatsen.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1