AGB  ·  Datenschutz  ·  Impressum  







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

Überlagerung von Properties (DevExpress)

Offene Frage von "Tau"
Ein Thema von Tau · begonnen am 29. Sep 2005 · letzter Beitrag vom 30. Sep 2005
Antwort Antwort
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#1

Überlagerung von Properties (DevExpress)

  Alt 29. Sep 2005, 23:56
Hallo zusammen

mit dem folgenden Code möchte ich gerne an die Daten im Grid rankommen.

Dem ist leider nicht so, ich bekomme immer einen Falschen wert (Form1)

Code:
  with cxGrid1DBBandedTableView1AnZahlTage.Properties as TcxTextEditProperties do
    begin
      m := StrToInt( Text );
    end;
ich glaube es gibt irgend wie einen Überlagerung vom ( Text )
obwohl es ein Bestandteil vom TcxTextEditProperties ist.

Kann mir jemand Helfen

Besten Dank
Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Überlagerung von Properties (DevExpress)

  Alt 30. Sep 2005, 06:26
Hallo Tau,

die von dir vermutete Überdeckung kannst du recht einfach überprüfen, indem du mit einer Zwischenvariable arbeitest:

Delphi-Quellcode:
var
  tep: TcxTextEditProperties;
begin
  tep := {with} cxGrid1DBBandedTableView1AnZahlTage.Properties as TcxTextEditProperties;
  ShowMessage(tep.Text);
end;
Wenn keine Überdeckung vorliegt, dann gehst du vielleicht falsch an die Sache heran. Der aktuellen Online-Dokumentation entnehme ich, dass der Zugriff über die property Text von TextEdit erfolgen kann. Leider hast du nicht geschrieben, von welchem Typ cx...AnzahlTage ist. Hast du einen URL für die Online-Dokumentation deiner Komponente?

Grüße vom marabu

das with muss natürlich weg
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Überlagerung von Properties (DevExpress)

  Alt 30. Sep 2005, 07:00
Wenn Du auf Werte im Grid zugreifen willst, dann geht das so nicht (äh, glaube ich). Ich mache es jedenfalls so, uns so steht es auch in der OH:
Delphi-Quellcode:
Var
 iCol : Integer;

Begin
  iCol := cxGrid1DBBandedTableView1AnZahlTage.Index;
  ShowMessage (MycxGrid.DataController.Values [MycxGrid.DataController.FocusedRecordIndex, iCol]);
End;
Jetzt hast Du Zugriff auf die Werte im Grid (auch wenn es datensensitiv ist). Wenn Du die formatierten Werte willst, nimmst Du DisplayTexts statt Values. Eine 'Text' Eigenschaft gibt es bei dein TcxXXXProperties nicht.

Die TcxTextEditProperties (und alle Tcx...Properties) beziehen sich nur auf die spezifischen Eigenschaften des Editors, der der Zelle zugeordnet ist, deshalb heissen sie auch so : "Tcx___EditProperties".
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Überlagerung von Properties (DevExpress)

  Alt 30. Sep 2005, 14:30
Hallo zusammen

leider helfen mir die Tipps nicht.

ich versuche gerade eine online Berechnung im Grid zu machen. (TcxTextEditProperties mit onChange)

Code:
var
  tep: TcxTextEditProperties;
begin
  tep := with cxGrid1DBBandedTableView1AnZahlTage.Properties as TcxTextEditProperties;
  ShowMessage(tep.Text);
end;
mit diesem Code bekomme ich immer EX das die Datenmenge Null ist.

deswegen wollte ich auf denn Text von TcxTextEdit zugreifen.

bin für andere Vorschläge immer offen.

Besten Dank
Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Überlagerung von Properties (DevExpress)

  Alt 30. Sep 2005, 14:39
Also, tut mir leid, bei mir gibts noch nichtmal eine Text-Eigenschaft vom den TcxTextProperties, aber egal.
WAS genau willst du denn machen?

Du hast also ein Grid und im OnChange einer Zelle willst Du dann ... was machen`

Poste doch mal ein miniprojekt (mit DevExpress TcxGrid, is ja kein Problem). Ich kann Dir heute abend aber erst helfen...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Überlagerung von Properties (DevExpress)

  Alt 30. Sep 2005, 15:38
Hallo alzaimar

habe ein kleines Projekt dazugehängt
im Grunde ist es ganz einfach.

ich möchte den Wert den ich in die Spalte F013
eingebe mit irgendeinen Wert Multiplizieren und
in die Zelle F014 wieder ausgeben.

Und das sollte wehren der Eingabe basieren.

ist gar keine Hexerei normal aber wenn ich nicht
weis wie ich an die Daten rankomme dann schon.

schöne Grüsse
Tau
Angehängte Dateien
Dateityp: zip grid_zellen_berechnen_975.zip (4,5 KB, 7x aufgerufen)
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Überlagerung von Properties (DevExpress)

  Alt 30. Sep 2005, 20:45
Hi,

Ich habe Dir zwei Möglichkeiten eingebaut: Die erste ist banal über ein calculated Field. Komischerweise gerät die Berechnung in eine Endlosschleife, da musste ich einen kleinen Trick anwenden (siehe Sourcecode).

Als zweite Möglichkeit habe ich eine Spalte 'F014' ohne Feldnamen definiert. Der darzustellende Text wird über das OnGetDataText event aus F013 berechnet. Hier wird aber nix in dem Dataset gespeichert.

Hoffe, ich konnte Dir helfen.
Angehängte Dateien
Dateityp: zip grid_zellen_berechnen_788.zip (13,0 KB, 3x aufgerufen)
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Überlagerung von Properties (DevExpress)

  Alt 30. Sep 2005, 21:14
Hallo alzaimar

Erstmal Danke für deine Bemühungen

Die Lösung mit den calculated Field wird erst beim Speichern vom
Datensatz ausgelöst und kommt für mich leider nicht in Frage.

Ist noch nicht so das was ich wollte. Werde eine E-Mail an den Support
von DevExpress schicken vielleicht kann der mir Helfen.

Es mus doch noch eine andere Lösung geben um an die Daten im Grid heranzukommen.

schöne Grüsse
Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: Überlagerung von Properties (DevExpress)

  Alt 30. Sep 2005, 23:20
Mach das und poste vielleicht deren Antwort, würde mich auch interessieren.

Bei mir wird nicht erst beim Posten der berechnete Wert angezeigt, sondern auch dann, wenn man die Zelle mit ENTER oder TAB wechselt. Also, mir würde das reichen, oder willst Du echt bei jedem Tastendruck ein Update der berechneten Zellen? Dann füge einfach ein Event TcxGridDBBandedColumn.OnEditKeyUp ein:
Delphi-Quellcode:
procedure TForm1.cxGrid1DBBandedTableView1EditKeyUp(
  Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
  AEdit: TcxCustomEdit; var Key: Word; Shift: TShiftState);
begin
  aEdit.PostEditValue
end;
Hattest Du aber auch gleich sagen können
Angehängte Dateien
Dateityp: zip grid_zellen_berechnen_142.zip (16,0 KB, 5x aufgerufen)
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  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 08:47 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