AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Hint in DBGrid anzeigen

Ein Thema von etom291272 · begonnen am 30. Sep 2004 · letzter Beitrag vom 1. Okt 2004
Antwort Antwort
Seite 1 von 2  1 2   
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#1

Hint in DBGrid anzeigen

  Alt 30. Sep 2004, 19:39
hallo zusammen

habe mir jetzt mehrere Stunden in der OH und in einigen Foren die Augen nach vollgender Lösung
wundgesucht.
In einem DBGrid zeige ich eine Liste aller Rechnungen an (Datenquelle ist Sql Server
mit BetterAdoDataset) in der ersten Spalte steht welche Art von Dokument das ist (zb. Ausgangsrechnung, Gutschrift, Interne Lieferung ...).
in dieser Spalte werden je nach Feldinhalt der ersten Spalte des DBGrids unterschiedliche
Icons für die diversen Belegarten angezeigt [bis hierher kein Problem ]
Aber ich möchte wenn die Maus auf dieser Spalte (also dem Icon parkt) einen Hint anzeigen wo die
Belegart im Klartext steht.

Hat irgend jemand einen Lösungsansatz bei einer bestimmten Spalte im DBGrid einen dynamischen
Datenabhängigen Hint anzuzeigen
Danke schon mal im vorraus
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Hint in DBGrid anzeigen

  Alt 30. Sep 2004, 20:48
Hai etom291272,

wie zeigst Du denn das Icon im DBGrid an? Wenn man "auslesen" könnte welches Icon unter dem Cursor ist wäre das anzeigen eines Hints sicher nicht das große Problem.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#3

Re: Hint in DBGrid anzeigen

  Alt 30. Sep 2004, 21:40
Also mit folgendem Eventhandler wird statt des Datenbankfeldes ein entsprechendes Icon angezeigt
Delphi-Quellcode:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var Icon: TBitmap;
begin
Icon:=TBitmap.Create;
if (Column.FieldName='SHARES' ) then begin
with DBGrid1.Canvas do begin
Brush.Color:=clWhite;
FillRect(Rect);
if (Table1.FieldByName('SHARES').Value>4500)
then
ImageList1.GetBitmap(1,Icon)
else
ImageList1.GetBitmap(0,Icon);
Draw(round((Rect.Left+Rect.Right-Icon.Width)/2),Rect.Top,Icon);
end;
end;
p.s mich würde auch interessieren wie das bei einem normalen DbGrid Feld funktioniert und ich möchte nicht auf 3.Komponenten von anderen Herstellern ausweichen. Habe das TMS Components Pro mit deren ADVDBStringGrid liese sich das leicht realisieren. Ich kann auch über kein Stringgrid gehen da das Dataset über 200.000 Records fassen kann und das laden des StringGrid warscheinlich viel länger dauert als mit einem DbGrid (die Sätze sind notwendig - sind alle Belege einen grossen Firma der letzten 10 Jahre)

für jeden lösungsansatz bin ich dankbar
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Hint in DBGrid anzeigen

  Alt 30. Sep 2004, 22:18
Zitat:
Hat irgend jemand einen Lösungsansatz bei einer bestimmten Spalte im DBGrid einen dynamischen Datenabhängigen Hint anzuzeigen
Ein Ansatz, leider auch nicht mehr.
  Mit Zitat antworten Zitat
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#5

Re: Hint in DBGrid anzeigen

  Alt 30. Sep 2004, 22:37
Danke für den Link hab ihn mir durchgelesen und bin dabei auf ein noch viel grösseres Problem gekommen. wenn der dbgrid angenommen 30 Zeilen hat und die aktive Zeile die 3. ist und der benutzer angenommen in der 20. zeile auf das icon fährt und da dann der hint angezeigt werden soll gibt es keine möglichkeit an die daten die im feld sind in zeile 20 zu kommen da ja die 3. zeile die aktive ist (oder liege ich da falsch)
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Hint in DBGrid anzeigen

  Alt 30. Sep 2004, 22:40
Noch ein Ansatz. Ich schau mir das morgen (auch aus Eigennutz) mal an.
Das Wichtige bei der Sache ist imho nicht das Anzeigen selber, das bekommt man durch Satzverschiebung und merken der vorher,nacher- Position noch hin. Die optischen Nebenwirkungen störender.
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Hint in DBGrid anzeigen

  Alt 30. Sep 2004, 22:44
Ups. Dazwischen gepostet.
Zitat von etom291272:
wenn der dbgrid angenommen 30 Zeilen hat und die aktive Zeile die 3. ist und der benutzer angenommen in der 20. zeile auf das icon fährt und da dann der hint angezeigt werden soll gibt es keine möglichkeit an die daten die im feld sind in zeile 20 zu kommen da ja die 3. zeile die aktive ist (oder liege ich da falsch)
Jein. Das ist lösbar. Probier mal den Ansatz von DragonsLear. Es entstehen leider Nebeneffekte(optisch). Mal schaun ob man es mit Link 2 in den Griff bekommt.
  Mit Zitat antworten Zitat
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#8

Re: Hint in DBGrid anzeigen

  Alt 1. Okt 2004, 13:38

na schon was gefunden ?
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Hint in DBGrid anzeigen

  Alt 1. Okt 2004, 14:20
Zitat von etom291272:
na schon was gefunden ?
..na und selbst?
Aber nein, ich habe bis jetzt auch noch nichts zufriedenstellendes gefunden. Ich hatte zwar eine SMDBGid-Kompo. am Wickel die Hints anzeigen kann, musste aber bei genauerer Betrachtung feststellen, dass die auch nur den Satzzeiger auf die Stelle im Grid setzt, wo sich die Maus befindet und einen Hint des aktuellen Datenfeldes ausgibt.
Der Tip aus dem 2.Link war ebendfalls eine Sackgasse.
Und was hast du in der Zeit so unternommen?
  Mit Zitat antworten Zitat
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#10

Re: Hint in DBGrid anzeigen

  Alt 1. Okt 2004, 14:28

hatte bis jetzt keine Zeit mich mit dem problem weiter zu beschäftigen da ich für ein projekt eine
ziemliche Aufwendige Netzwerkkonfiguration mit Fortigate Firewall und Isa Server vorbereiten muss

bin aber gestern noch auf eine Komponente gestossen die vielversprechend aussieht
X-DBGrid Component Standard 3.3D (Delphi)
TXDBGrid, TXDBColumnsDialog
ShareIt Program ID: 190431


wie gesagt würde es gerne ohne 3. komponente lösen.

werde auch heute noch herrn ua kontaktieren war bei ihm auf einem mehrtägigen individualtrainung was mir sehr viel gebracht hat. werde posten was da rausgekommen ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:26 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