AGB  ·  Datenschutz  ·  Impressum  







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

DBGrid mit verschiebbaren Zeilen

Ein Thema von marsupilami79 · begonnen am 15. Okt 2005 · letzter Beitrag vom 16. Okt 2005
Antwort Antwort
Seite 1 von 2  1 2      
marsupilami79

Registriert seit: 19. Jul 2004
17 Beiträge
 
Delphi 12 Athens
 
#1

DBGrid mit verschiebbaren Zeilen

  Alt 15. Okt 2005, 20:26
Hallo,

ich brauche für eine Anwendung ein DBGrid, in dem ich die Datenzeilen vom User verschieben lassen kann. Da ich im Netz nix derartiges gefunden habe dachte ich ok -> selber machen. Sollte nicht so schwierig sein, da die dafür nötigen Sachen schon in TCustomGrid drinnen sind.
Das Problem ist, daß ich das Verschieben erstmal erlauben müßte in TCustomGrid.Options, aber im TCustomDBGrid Options mit einer neuen Eigenschft überschrieben / verdeckt wird. Also hab ich versucht, die unter anderem Namen wieder sichtbar zu machen:
Delphi-Quellcode:
TEDBGrid = class(TCustomDBGrid)
  protected
    procedure SetGridOptions(Options: TGridOptions);
    function GetGridOptions(): TGridOptions;
  ...
  published
    property GridOptions: TGridOptions read GetGridOptions write SetGridOptions;
  ...
  end;

...

procedure TEDBGrid.SetGridOptions(Options: TGridOptions);
begin
  TCustomGrid(Self).Options := Options;
end;

function TEDBGrid.GetGridOptions(): TGridOptions;
begin
  Result := TCustomGrid(Self).Options;
end;
Aber bei dem Typecast bringt mir Delphi die Fehlermeldung "[Fehler] Dbgrid.pas(281): Undefinierter Bezeichner: 'Options'". Sollte die Kindklasse aber nicht Zugriff auf die protected-Eigenschften des vorfahren haben? Und an die Methode / Eigenschft ranzukommen, die in TCustomGrid verwendet wird, erscheint mir noch schwieriger, da die beide als private deklariert sind.
Hat jemand eine Idee?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: DBGrid mit verschiebbaren Zeilen

  Alt 15. Okt 2005, 21:18
Du hast die Options in Deiner eigenen Klasse nicht deklariert.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
marsupilami79

Registriert seit: 19. Jul 2004
17 Beiträge
 
Delphi 12 Athens
 
#3

Re: DBGrid mit verschiebbaren Zeilen

  Alt 15. Okt 2005, 21:26
Ja, weil TCustomDBGrid schon eine Eigenschaft Options hat, die ich nicht wieder verstecken möchte.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: DBGrid mit verschiebbaren Zeilen

  Alt 15. Okt 2005, 21:28
Aber Du kannst doch kein Feld einer Klasse ansprechen, in der dieses gar nicht vorhanden ist. Du bräuchtest dann sowohl Options mit inherited und Deine neuen Gridoptions.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
marsupilami79

Registriert seit: 19. Jul 2004
17 Beiträge
 
Delphi 12 Athens
 
#5

Re: DBGrid mit verschiebbaren Zeilen

  Alt 15. Okt 2005, 21:39
Aber Options ist ja sowohl in TCustomGrid vorhanden als auch in TCustomDBGrid. Nur das das TCustomDBGrid.Options <> TCustomGrid.Options. Und die TCustomGrid.Options will ich jetzt unter dem Namen GridOptions verfügbar machen, damit ich auf beide Zugreifen kann.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: DBGrid mit verschiebbaren Zeilen

  Alt 15. Okt 2005, 21:52
Nur ist TGridOptions nicht kompatibel zu TDbGridOptions, die Klasse von der Du erbst.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
marsupilami79

Registriert seit: 19. Jul 2004
17 Beiträge
 
Delphi 12 Athens
 
#7

Re: DBGrid mit verschiebbaren Zeilen

  Alt 15. Okt 2005, 22:03
Jup. Aber TCustomDBGrid ist ein direkter Nachfahr von TCustomGrid, in dem Options mit dem Typ TGridOptions deklariert ist. TCustomDBGrid führt dann Options erneut ein, mit dem Typ TDBGridOptions.

Die Vererbungslinie sieht ja so aus:
TCustomGrid -> TCustomDBGrid -> TDBGrid -> TEDBGrid

Und wieso kann ich als TEDBGrid als Nachfahr von TCustomGrid nicht auf TCustomGrid.Options zugreifen? Oder ist die Notation TCustomGrid(self).Options nicht die richtige dafür? Wenn ja, wie dann?
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: DBGrid mit verschiebbaren Zeilen

  Alt 16. Okt 2005, 00:34
Moin,

ich gebe zu, ich habe nie mit Delphi 6 gearbeitet.

Aber unter Delphi 7 ist das DBGrid standartmäßig so eingestellt, dass man die Spalten mit der Maus ziehen kann.

Wurde das von Delphi 6 -> Delphi7 geändert ?

MfG
Thorsten
  Mit Zitat antworten Zitat
marsupilami79

Registriert seit: 19. Jul 2004
17 Beiträge
 
Delphi 12 Athens
 
#9

Re: DBGrid mit verschiebbaren Zeilen

  Alt 16. Okt 2005, 00:37
Nein, das wurde nicht geändert. Ich möchte aber auch nicht die Spalten sondern die Zeilen verschieben
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: DBGrid mit verschiebbaren Zeilen

  Alt 16. Okt 2005, 00:53
Oh, wer lesen kann ist klar im Vorteil. Sorry
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:06 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