AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi TDBGrid/TJvDBGrid Highlighting direkt nach dem Einlesen
Thema durchsuchen
Ansicht
Themen-Optionen

TDBGrid/TJvDBGrid Highlighting direkt nach dem Einlesen

Ein Thema von Bodenseematze · begonnen am 8. Jul 2024 · letzter Beitrag vom 9. Jul 2024
Antwort Antwort
Delphi.Narium

Registriert seit: 27. Nov 2017
2.600 Beiträge
 
Delphi 7 Professional
 
#1

AW: TDBGrid/TJvDBGrid Highlighting direkt nach dem Einlesen

  Alt 8. Jul 2024, 17:10
Nimm am Ende mal das inherited raus, das darf, nach meiner Erfahrung mit Delphi 7 und TJVDBGrid, nur dann aufgerufen werden, wenn Du im dbGridDetailDrawColumnCell nichts selbst machst, also nur für die Zellen aufgerufen werden, für die es keine von Dir implementierte "Sonderbehandlung" gibt.

Eventuell ergänzt Du die Methode aber am Ende auch um einen Elsezweig:
Delphi-Quellcode:
   if ( bHandled ) then begin
      dbGridTail.DefaultDrawColumnCell( rect_, iDataCol_, col_, drawState_ );
   end else begin
      inherited;
   end;
  Mit Zitat antworten Zitat
Bodenseematze

Registriert seit: 10. Jul 2023
77 Beiträge
 
#2

AW: TDBGrid/TJvDBGrid Highlighting direkt nach dem Einlesen

  Alt 9. Jul 2024, 07:05
Delphi-Quellcode:
   if ( bHandled ) then begin
      dbGridTail.DefaultDrawColumnCell( rect_, iDataCol_, col_, drawState_ );
   end else begin
      inherited;
   end;
Genau so war es ursprünglich - bevor ich mit den "Versuchen" angefangen hatte

Was übrigens auch noch komisch ist (Bug in JvDBGrid?): wenn das Grid den Fokus nicht hat, und ich das erste Mal in's Grid auf eine Zeile klicke, wird immer die falsche Zeile markiert (eine Zeile tiefer, als ich klicke).
Das passiert aber nur beim ersten Mal - danach passt's dann (auch wenn ich den Fokus wieder woanders hin setze und dann wieder zurück ins Grid)...
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.600 Beiträge
 
Delphi 7 Professional
 
#3

AW: TDBGrid/TJvDBGrid Highlighting direkt nach dem Einlesen

  Alt 9. Jul 2024, 16:53
Der Fehler muss irgendwo anders liegen

Nagut, kann ich jetzt nur so behaupten aber nicht begründen.

Habe einige in Delphi 7 geschriebene Programme, in denen das JVDBGrid genutzt wird, in denen die Implementierung in der Prozedur zu OnDrawColumnCell analog zu Deiner Implementierung erfolgt und die am Ende immer per Case oder sonstiger Abfrage entweder DefaultDrawColumnCell oder inherited aufrufen. Und bei mir treten keine Probleme auf, es wird immer auf Anhieb die richtige Zeile ausgewählt, das Grid hat nur in den seltensten Fällen den Focus, es sei denn per Tab, HotHey oder Mausklick wird es ausgewählt.

Breakpoint auf die erste Zeile von dbGridDetailDrawColumnCell und dann per Debugger. Wann wird dbGridDetailDrawColumnCell aufgerufen? Eventuell vor dem per Klick veranlassten Satzwechsel, aber danach nicht mehr. Ein bisserl erscheint mir Deine Fehlerbeschreibung so, als ob da die Reihenfolge der Verarbeitungsschritte nicht so ganz den Erwartungen entspricht. Nur aus der Ferne kann man da lediglich mutmaßen. Ich weiß nur, dass ich beim ersten Programm, bei dem ich ein Prozudur analog zu Deinem dbGridDetailDrawColumnCell implementiert habe, sehr lange gebraucht habe, um eine funktionierende Variante zu finden. Da das aber schon über 10 Jahre her ist, kann ich nicht mehr sagen, wo genau der Knackpunkt lag.

Die von mir genutzte Version von TJVDBrid ist vom 07.09.2011, also nicht so unbedingt die Neueste.
  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 13:53 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-2025 by Thomas Breitkreuz