Autor Beitrag
Siegbert
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mo 20.07.15 07:41 
Hallo zusammen,

Ich habe folgendes mit den entsprechenden Intraweb-Komponenten eingerichtet:
- Form mit zwei Regions, je eine oben und unten im Fenster. Oben mit align=alTop, unten align=alBottom
- in der Mitte zwischen den Regions ein IWDBGRID mit der Option "align=alClient", so dass dieses Grid den ganzen Platz einnimmt, der von Top und Bottom freigelassen wird.

Das Grid zeigt in der Voreinstellung 20 Zeilen (RowLimit=20), je nach Größe des Browser-Fensters passen die nicht alle ins Fenster. Die Komponente zeigt dann auch einen Laufbalken an der rechten Seite, der blättert aber nur max. 1 Zeile weiter. Wenn das Fenster also statt 20 Zeilen nur 10 Zeilen des IWDBGrid anzeigen kann, kann man nicht zur letzten Zeile scrollen sondern nur bis zur 11. oder manchmal 12. Zeile. Das ist auch unabhängig davon, ob das Fenster von Anfang an zu klein ist oder ob man es nach Anzeigen der ganzen Liste verlkeinert. Der Scrollbalken ist immer "zu kurz". Im Dateianhang ist zu sehen, wie das dann aussieht, RowLimit ist dabei 20.

Ich möchte das aber für den Anwender so komfortabel wie möglich, egal wie groß er das Fenster zieht soll sich das IWDBGrid ja mit der Option align=alClient ebefalls vergrößern/verkleinern und wenn das Fenster für das Grid zu klein wird sollte man zumindest scrollen können (wie auch sonst bei "normalem" direkt in HTLM erstellten Web-Anwendungen, da macht das halt der Browser wenn der Inhalt zu lang wird).

Ich habe schon alle Einstellungen ausprobiert, die dem Namen nach irgendwie etwas mit dem Thema zu tun haben könnten, finde aber keine Lösung. Mache ich etwas falsch oder kann die Komponente das einfach nicht? Ein normales DBGrid in einer Delphi-Anwendung macht das ja korrekt - ich dachte IWDBGrid könne das auch...

Wenn ich für das IWDBGrid align=alTop einstelle und ein feste Höhe angebe, wird immerhin ein Gesamt-Scrollbalken angezeigt, der innerhalb des Browserfensters die ganze Liste verschiebt, so dass man bis zur letzten Zeile scrollen kann. Ich kann auch per Code vorab aus gewählter Schriftgröße *2,5 * Anzahl Zeilen ungefähr berechnen, wie hoch die Liste sein muss (vermutlich geht das auch genauer - ich habe nur noch nicht herausgefunden wie die die Höhe einer einzelnen Zeile genau ermitteln kann), damit alle gewünschten Zeilen angezeigt werden (der Anwender kann wählen zwischen 10, 20, 50, 250,alle), aber mit einem IWDBGrid das seine Größe per align=alClient anpasst und dessen eigenem Scrollbalken in richtiger Länge wäre es schöner.

Hat jemand einen Tipp für mich, wie ich das gewünschte Verhalten erreichen (IWDBGrid berechnet seine Höhe selbst so dass es ins Fenster passt un der Scrollbalken des IWDBGris ermöglicht das Blättern durch all Zeilen) kann? Habe ich nur eine Option übersehen?

In der Hoffnung auf einen hilfreichen Tipp,
Siegbert
Einloggen, um Attachments anzusehen!