AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

Ein Thema von Alterauge · begonnen am 28. Aug 2012 · letzter Beitrag vom 28. Aug 2012
Antwort Antwort
Seite 1 von 2  1 2   
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

  Alt 28. Aug 2012, 10:56
Frag halt vorher ab, ob die Datenmange überhaupt Datensätze enthält.
Markus Kinzler
  Mit Zitat antworten Zitat
Alterauge

Registriert seit: 4. Mär 2011
306 Beiträge
 
Delphi 2010 Professional
 
#2

AW: CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

  Alt 28. Aug 2012, 10:59
Hey,

habe ich mal versucht! Hatte aber anschließend Probleme mit dem Refresh!
Habe den Quelltext leider wieder gelöscht
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

AW: CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

  Alt 28. Aug 2012, 11:00
Delphi-Quellcode:
procedure TForm1.CRDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  i : Integer;
  Wert: string;
begin
   if (CRDBGrid1.DataSource.DataSet.RecordCount = 0) then
     Exit;

  { hier dein Code }
end;
Und formatier mal deinen Code ein wenig. Damit hilfst du nicht nur dir, sondern auch anderen, die den mal lesen müssen

[add]
Was für Probleme hattest dann mit dem Refresh? Du fängst doch nur den Fall ab, wenn keine Elemente mehr enthalten sind. Was soll denn da passieren?
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Alterauge

Registriert seit: 4. Mär 2011
306 Beiträge
 
Delphi 2010 Professional
 
#4

AW: CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

  Alt 28. Aug 2012, 11:12
Hey super geht!

Danke!

Habe leider keine Ahnung mehr, was ich mir da zusammen
programmiert habe!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

  Alt 28. Aug 2012, 11:30
Hey super geht!

Danke!

Habe leider keine Ahnung mehr, was ich mir da zusammen
programmiert habe!
Das ist wohl dein Hauptproblem. Dir fehlt einfach das nötige Grundlagenwissen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.553 Beiträge
 
Delphi 12 Athens
 
#6

AW: CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

  Alt 28. Aug 2012, 11:47
Ich kann mich ja täuchen, aber wäre es nicht besser auf den Wert der grade zu zeichnenden Zelle zuzugreifen, also über den Parameter Column, anstatt auf einen x-beliebigen Wert des aktiven Datensatzes, welcher mit der Zelle nicht unbedingt was zu tun haben muß?

Die Zelle/Zeile kann ja für einen ganz anderen Datensatz stehen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

  Alt 28. Aug 2012, 11:57
Und bitte nicht so auf das Grid zugreifen, sondern so
Delphi-Quellcode:
procedure TForm1.CRDBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  i : Integer;
  Wert : string;
  Grid : TCRDBGrid;
begin
  if not ( Sender is TCRDBGrid ) then
    Exit;

  Grid := Sender as TCRDBGrid;

  if not ( Assigned( Grid.DataSource ) and Assigned( Grid.DataSource.DataSet ) and ( Grid.DataSource.DataSet.RecordCount > 0 ) ) then
     Exit;

  { hier dein Code ... aber Zugriff auf das Grid über die Variable Grid }
end;
Der Zugriff über Form1.CRDBGrid1 ist auf jedenfall der Garant für den Knieschuss
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#8

AW: CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

  Alt 28. Aug 2012, 12:00
Der Zugriff über Form1.CRDBGrid1 ist auf jedenfall der Garant für den Knieschuss
No Risk, no Fun!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Alterauge

Registriert seit: 4. Mär 2011
306 Beiträge
 
Delphi 2010 Professional
 
#9

AW: CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

  Alt 28. Aug 2012, 12:04
Hey, bin auch noch am lernen!
Aber es wird immer besser!

Der Zugriff über Form1.CRDBGrid1 ist auf jedenfall der Garant für den Knieschuss ??????

Wieso? Es funktioniert doch alles!

Geändert von Alterauge (28. Aug 2012 um 12:09 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: CRDBGrid1DrawColumnCell, if true then begin, problem wenn das Grid leer ist!

  Alt 28. Aug 2012, 12:08
Zitat:
Hey, bin auch noch am lernen!
Aber es wird immer besser!
Wie oft wurde dir jetzt schon der Parameter Sender genannt und was für eine Bedeutung er hat? wie oft auf Tutorials verwiesen?

Du greifst aber auf eine Komponente mit bestimmten Namen zu die direkt auf einem Formular mit einem bestimmten Namen liegt.
Anderes Formular-> peng Umbenenen Komponente oder Formular: bumm Zwischenschieben eines Contrainers: Knall.
Markus Kinzler
  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 16:13 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