ColorBlock und ItemSelect

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
messing
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 216
Registriert: Mi, 13. Jan 2010 9:42
Wohnort: Lauterbach / Hessen

ColorBlock und ItemSelect

Beitrag von messing »

Servus,

läßt sich der Status ItemSelected abfragen?

Ich möchte über die Selektierung im XbpBrowse die Farbe der Zelle verändern. So wie z.B. bei negativen Wert rot darstellen.
Die Zelle soll jedoch erst die Frabe verändern, nachdem sie mit Doppelklick selectiert wurde, unabhängig vom Wert. Nur durch den Selektionszustand.
Über den :colorblock kann ich Aufgrund der Werte die Farbe ändern, funktioniert das auch nur über die Selektierung?

Code: Alles auswählen

   ::DatenBrowse:GetColumn(1):ColorBlock := {|mp1,mp2,obj| ;
            IIF( obj:ItemSelected()=.T., {GRA_CLR_RED,},{GRA_CLR_WHITE,} ) }
Gruß
Bruno
Messing
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: ColorBlock und ItemSelect

Beitrag von georg »

Hallo, messing -


schau Dir mal die Callback-Methode :lbDblClick() an. Die wird ausgelöst durch einen Doppelklick und sollte somit die Bedingung "itemselected" erfüllen.


Gruss,

Georg
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
messing
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 216
Registriert: Mi, 13. Jan 2010 9:42
Wohnort: Lauterbach / Hessen

Re: ColorBlock und ItemSelect

Beitrag von messing »

Hi Georg,

ItemSelect ist nicht das Problem, sondern der ColorBlock. Wie bekommt man in den ColorBlock eine ItemSelect Abfrage rein um Festzustellen ob Selektiert wurde oder nicht.

Aktion ausführen über Itemselect benutze ich um einen Filter zu setzen. Wert in der einen DBF = Filter für andere DBF.
Nur wollte ich im Browse dann diese Zeile / Zelle farblich verändern, damit der Nutzer im Browse sieht, worauf gefiltert wird.
Gruß
Bruno
Messing
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: ColorBlock und ItemSelect

Beitrag von georg »

Hallo, messing -


vielleicht verstehe ich Dich falsch, aber der itemSelected ist doch der Auslöser, dem das Verändern des ColorBlock folgt?

In diesem Fall führst Du über den Callback Slot :lbDblClick() den entsprechenden ColorBlock aus.


Gruss,

Georg
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
messing
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 216
Registriert: Mi, 13. Jan 2010 9:42
Wohnort: Lauterbach / Hessen

Re: ColorBlock und ItemSelect

Beitrag von messing »

Servus, könntest du mal bei der Definition helfen?

Muß der :lbDblClick() in den Colorblock, oder Zusätzlich
z.B. ::Browse:lbdblClick() ???
Gruß
Bruno
Messing
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: ColorBlock und ItemSelect

Beitrag von Tom »

Ein ItemSelected kann auch über ein Keyboard-Event ausgelöst werden. Aber ich halte es für den falschen Weg, den Colorblock zu evaluieren, wenn eben ItemSelected ausgelöst wurde - schließlich würde jedes anschließende Neuzeichnen der Zelle automatisch wieder die alten Farben reaktivieren. Sinnvoller wäre es, an den ItemSelected-Slot die Belegung einer Variablen zu hängen, die die Zelle eindeutig identifiziert, und im ColorBlock selbst eben - standardmäßig - abzufangen, ob die Zelle die gerade aktivierte ist.
Herzlich,
Tom
Antworten