AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bild aus Pfadangabe in DBGrid anzeigen

Ein Thema von Mongfice · begonnen am 27. Feb 2009 · letzter Beitrag vom 2. Mär 2009
Antwort Antwort
Mongfice

Registriert seit: 26. Feb 2009
40 Beiträge
 
Delphi 7 Professional
 
#1

Bild aus Pfadangabe in DBGrid anzeigen

  Alt 27. Feb 2009, 08:54
Moin!

Ich hab ein kleines Problem, mit dem ich nicht wirklich weiter kommen.

Ich hab Daten zu Bildern in einer Tabelle abgelegt und lasse diese in meinem Programm über ein DBAdvGrid anzeigen.
Eine Spalte dieses Grids soll nun auch einen Thumbnail zum Bild enthalten, leider bekomm ich das nur hin, wenn ich das Bild als Blob in der DB hinterlege, was aber ausdrücklich unerwünscht ist, da die Datenmenge viel zu groß wäre. Die Tabelle soll lediglich einen Pfad zum Bild enthalten.

Irgendwie steh ich da seit inzwischen ein paar Tagen auf dem Schlauch.
Hab als "Notlösung" jetzt nen TImage eingefügt, dass über DBAdvGrid.OnCLick aktualisiert wird, das ist aber auch nicht das Gelbe vom Ei, da das Bild selbst eigentlich das Wichtigste ist und man ja ungern 100 Bilder durchklicken will, um das richtige zu finden.

Hat da jemand nen Tipp für mich? Ich brauch die Funktionalität des Grids an sich auf jeden Fall, da es keine feste Anzahl an Bildern gibt, die dort angezeigt werden müssten.

Gruß
Michael
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Bild aus Pfadangabe in DBGrid anzeigen

  Alt 27. Feb 2009, 09:55
Hi,

ich würde im DataSet ein berechnetes Feld vom Typ Blob [EDIT] bzw. Graphic [/EDIT] einfügen.
Im OnCalcFields erfolgt dann das Laden entsprechend des Dateinamens.

Frank
Frank Reim
  Mit Zitat antworten Zitat
Mongfice

Registriert seit: 26. Feb 2009
40 Beiträge
 
Delphi 7 Professional
 
#3

Re: Bild aus Pfadangabe in DBGrid anzeigen

  Alt 27. Feb 2009, 10:50
Mhh, könntest du da etwas ausführlicher werden?
Evtl. mit nem kleinen Beispiel?

Ich glaube ich versteh zwar, was du meinst, aber weiß nicht genau, wie ich das anstellen soll. Vorallem, da über die gleiche DS auch die Bearbeitung der Daten erfolgen kann/soll - im Moment.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

Re: Bild aus Pfadangabe in DBGrid anzeigen

  Alt 27. Feb 2009, 11:11
Hallo,

schau mal bitte, ob Du das Laden der Bilder nicht in das DBAdvGrid.DataSource.DataSet.AfterScroll-Ereignis verschieben kannst. Dann müsste ein Bild immer nach dem Verschieben des Satzzeigers geladen werden, sprich: immer dann, wenn ein neuer/weiterer Datensatz angezeigt wird.
  Mit Zitat antworten Zitat
Mongfice

Registriert seit: 26. Feb 2009
40 Beiträge
 
Delphi 7 Professional
 
#5

Re: Bild aus Pfadangabe in DBGrid anzeigen

  Alt 27. Feb 2009, 11:29
Das Problem ist, ich kapier nicht so ganz, wie ich das Bild wieder in das Grid bekomme.

Klar, ich kann den Pfad in jedem beliebigen Ereignis auslesen und das Bild laden (z.B. in nen TImage). Aber wie lade ich das Bild entweder direkt in das Grid oder wie bekomm ich das TImage dann im Grid angezeigt?
Für jede Zeile nen Image neben dem Grid anzuzeigen ist ja nicht wirklich prakitkabel.

Das bisher eingefügte TImage von dem ich sprach ist ja nur ne Notlösung, da es ja nur jeweils einen Thumb anzeigen kann, und nicht alle auf einmal.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

Re: Bild aus Pfadangabe in DBGrid anzeigen

  Alt 27. Feb 2009, 11:45
Hallo,

da ich die von Dir genutzte Gridkomponente nicht habe, kann ich Dir da wohl nicht so recht weiterhelfen. Wie sieht das denn aus, wenn ein Bild in der Datenbank ist und dann in dem Grid angezeigt wird, sind die Bilder dann nicht sehr klein?

Wäre eventuell die Benutzung eines DBCtrlGrids eine Alternative, da kannst Du für jede Spalte ein DBText oder ein DBEdit drauflegen, zusätzlich aber auch ein TImage. Das musst Du dann einmal für einen Datenzeile machen, hast es dann aber anschließend für alle Zeilen zur Verfügung, benötigts also nicht für jede Zeile ein eigenes TImage.
Das Ergebnis wird nicht genau wie ein DBGrid aussehen, da Dir die Titelzeile und links die Satzmarkierung fehlen, aber eventuell ließe sich ja was brauchbares daraus machen.
  Mit Zitat antworten Zitat
Mongfice

Registriert seit: 26. Feb 2009
40 Beiträge
 
Delphi 7 Professional
 
#7

Re: Bild aus Pfadangabe in DBGrid anzeigen

  Alt 27. Feb 2009, 12:05
Also, wenn das Bild als Blob in der DB ist, dann kann ich es direkt im Grid anzeigen lassen, indem ich für die Spalte im Grid einstelle, dass die Binär-Daten als Bild interpretiert werden sollen. Die Größe der Zelle kann ich auch einstellen, so dass das Bild darauf passend skaliert wird. Es geht auch nicht darum, dass Bild in der vollen Größe anzuzeigen, sondern nur als Thumbnail. Leider ist aber die Datenmenge trotzdem viel zu groß um auch nur die Thumbnails in der DB direkt zu speichern.

Die Sache mit dem DBCtrlGrid werd ich mal probieren. Es muss nicht unbedingt genau wie ein DBGrid aussehen. Mal sehn ob ich dann irgendwas wichtiges verliere, wenn ich es damit mache.
  Mit Zitat antworten Zitat
Mongfice

Registriert seit: 26. Feb 2009
40 Beiträge
 
Delphi 7 Professional
 
#8

Re: Bild aus Pfadangabe in DBGrid anzeigen

  Alt 2. Mär 2009, 11:41
Mhh, ich habs jetzt mit dem DBCrtlGrid gemacht, das geht soweit auch sehr gut.
Nur fehlen mir jetzt 2 "Funktionen" die das DBAdvGrid gleich mitgebracht hat.
1. Scrollen durch die Liste mit dem Mausrad
2. Öffnen des Popup-Menüs wählt unterliegendes Element des Grids aus.

Speziell letzteres wäre sehr wichtig. Hat jemand da nen Tip, wie ich die Funktionalität beim DBCtrlGrid umgesetzt bekomme?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz