![]() |
Datenbank: Mysql • Version: 4.1 • Zugriff über: MyDac
Bilder aus mehreren Datensätzen in eine Tabelle anzeigen?
Guten Morgen. Ich habe folgendes Problem:
Zu einen Schadensnummer buche ich die Bilder. Jedes Bild ist ein Datensatz. Nun will ich alle Bilder die zu den Schaden 24 als eine Tabelle anzeigen lassen. Mit SELECT habe ich nun 15 Bilder (jedes Bild ein eigenes Datensatz) nun muss ich das irgenwie als eine Tabelle anzeigen lassen, wichtig ist das beim klicken auf ein Bild das ORIGINAL Bild sich öffnen soll. (Pfad zum Bild ist auch in der Bilderbuchungstabelle hinterlegt). Ich wollte das in FastReport machen, das sieht aber nicht gut aus. Kennt jemand von euch eine gute Lösung? |
Re: Bilder aus mehreren Datensätzen in eine Tabelle anzeigen
Es einige DBGrids, die auch direkt Blobimages anzeigen können, z.B. das TDBAdvGrid von
![]() Das mit dem Vergrössern wird schwieriger. Du kannst zwar sicherlich die Bilder im Grid verkleinert darstellen lassen, das würd aber heissen dass Du das Originalbild jedesmal beim Anzeigen verkleinern musst, und bei 100 Bildern im Grid glaub ich geht die Performance in die Knie. Alternativ würd ich eventuell ein 2tes Blobfeld in der Tabelle anlegen, wo ich beim Speichern des Datensatzes auch nochmal ein Thumbnail ablege. Ich zweifele auch daran, ob die Idee so wirklich gut ist, soviele Bilder direkt in der Datenbank abzulegen. Das bauscht die nur unnötig auf. Alternativ kannst Du auch nur den Dateinamen speichern, und das Bild selbst dann als Datei irgendwo ablegen, lokal oder auf einem Server wenn Du im Netz arbeitest. |
Re: Bilder aus mehreren Datensätzen in eine Tabelle anzeigen
Hallo. Die Bilder werden in eine kleine Auflösung in die Tabelle gespeichert 100x100 (JPEG Format) die großen Bilder liegen auf der Festplatte (ca. 2 MB Pro Bild). Ich muss aber die Bilder nach möglichkeit als 1 Datensatz darstellen...sprich 10 Bildern aus 10 Datensätzen werden als 1 Datensatz anzegeigt.. kann man einen berechneten Feld dafür nehmen?
|
Re: Bilder aus mehreren Datensätzen in eine Tabelle anzeigen
Zitat:
|
Re: Bilder aus mehreren Datensätzen in eine Tabelle anzeigen
Wenn ich mir das recht überlege. Dann ist das ja eine gute IDEE. Die Schadensbilder werden vertikal angezeigt. beim klick auf das bild wird das Bild (über PFAD Feld) groß geladen....
Denn das was ich wollte ist, das die Bilder aus 10 Datensätzen Horizontal angezeigt werden (sprich eine Zeile) |
Re: Bilder aus mehreren Datensätzen in eine Tabelle anzeigen
Wie Du die Bilder darstellst, ist Dir überlassen. Du bist ja nicht an ein DBGrid gebunden.
Du kannst ja auch dynamisch irgendwas erstellen mittels einer TScrollbox. Du durchläufst alle gefundenen Datensätze und erzeugts für jeden dynamisch ein neues Image in der TScrollbox. Dann passt du für Image die Eigenschaft Parent, Left, Top, Width und Height an, ebenfalls noch das OnClick Ereignis und Du hast deine horizontale Bilderliste... Sollte ja nicht so schwer sein, oder? |
Re: Bilder aus mehreren Datensätzen in eine Tabelle anzeigen
Zitat:
|
Re: Bilder aus mehreren Datensätzen in eine Tabelle anzeigen
Schmeiss eine scrollbox, listbox, ein image (imgtemplate) und einen button auf deine Form... Hier der Code zum Laden der Bilder (in meinem Fall aus Dateien und alle mit gleichen Breiten).
Delphi-Quellcode:
implementation
uses Windows; {$R *.dfm} procedure TForm16.Button1Click(Sender: TObject); var i: Integer; fn: string; img: TImage; begin for i := 0 to listbox1.items.count - 1 do begin fn := listbox1.items[i] ; img := TImage.create (Self) ; img.Parent := scrollbox1 ; img.AutoSize := false ; img.Stretch := false ; img.Tag := i ; img.Left := (i*32) + 8 ; img.Top := 8 ; img.Width := 24 ; img.height := 24 ; img.Picture.LoadFromFile(fn); img.Cursor := crHandPoint ; img.OnClick := imgTemplateClick ; end; end; procedure TForm16.imgtemplateClick(Sender: TObject); begin caption := inttostr ((Sender as TImage).tag) ; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:43 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