Fragen zu Image-Control in einem Grid

03/10/2008 - 05:50 von Alexander Schmid | Report spam
Hallo NG

Ich habe zwei Tabellen, Kunde und Produkt, die in einer 1 zu N-Beziehung
stehen. Ihre Daten zeige ich in einem Formular mit einem Pageframe an. Auf
Page 1 sind die Kundendaten auf Page 2 in einem Grid die Produktdaten zu
sehen. Zu jedem Produkt kann es ein Bild geben. Um es anzuzeigen, habe ich
ein Image-Control in die erste Kolonne des Grid eingefügt. Es kann auch ein
neues Bild hinzugefügt werden. Der entsprechende Code wird ausgelöst, wenn
man das Image- Control doppelklickt. Leider gibt es zwei kleinere
Unschönheiten mit diesem Image-Control, die ich nicht verstehe.

1. Die Doppelklick-Methode feuert nur, wenn der Kunde einen einzigen
Produkt-Datensatz hat, also nur eine Zeile im Grid angezeigt wird. Sobald
zwei oder mehr angezeigt werden, wird diese Methode nicht ausgeführt. Man
muss zuerst eine andere Zeile anklicken und danach das Image-Control
doppelklicken. Ich weiss nicht recht, wo ich hier ansetzen soll. Eigentlich
sollte die Doppelklick-Methode immer ausgeführt werden. (Zur Ergànzung. Hier
navigiert man über den Kunden, sieht aber den Grid, auf dem immer alle
Produkte angezeigt werden. Obiges Problem tritt immer beim Wechsel auf einen
neuen Kunden auf.)

2. Wenn ich ein neues Bild hinzugefügt habe und anschliessend ein zweites in
der nàchsten Zeile dazufügen möchte, und ich das Image-Control anklicke oder
doppelklicke, wird jeweils das erste Bild unsichtbar. Sobald ich das zweite
Bild hinzugefügt habe (kann über GETFILE ausgewàhlt werden), und es angezeigt
wird, wird auch das erste Bild wieder sichtbar. Was müsste ich verbessern,
dass keine Bilder kurzfristig unsichtbar werden?

Schönen Dank im Voraus für jeden Tipp

Alex
 

Lesen sie die antworten

#1 Alexander Schmid
06/10/2008 - 11:18 | Warnen spam
Hallo Olaf

Danke für Deine ausführliche Antwort. Ich habe meinen 2. Punkt versucht
unter Testbedingungen nachzubilden.

Ich habe ein Formular mit einem Grid erstellt, dass eine einzige Tabelle
konsumiert. Diese Tabelle hat 3 Datensàtze und jeder enthàlt einen Dateiname
inklusive Pfadangaben, der auf ein Bild verweist. Mit der
DynamicCurrentControl-Eigenschaft verweise ich auf eine Methode, die dem
Image-Control im Grid den Dateinamen (inkl. Pfad) zuweist. (Ich glaube, das
ist das Standardvorgehen um verschiedene Bilder auf einer Tabelle in einem
Grid anzuzeigen.)

Das klappt auch ganz gut. Seltsamerweise passiert aber etwas Ähnliches, wie
in meinem Problem: Klickt man, nachdem die drei Zeilen mit den drei Bildern
angezeigt worden sind, auf das Bild 2 oder 3, wird sofort in der ersten Zeile
Bild 3 angezeigt. Das Reinklicken soll eigentlich das Feuern der
Doppelklick-Methode simulieren. Ich konnte meinen Test noch nicht weiter
fortführen, doch ich vermute, dies ist ein Grid-Verhalten, dass nicht ganz
i.O. ist.

Alex

Ähnliche fragen