xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
Moderator: Moderatoren
-
- Rekursionen-Architekt
- Beiträge: 194
- Registriert: Fr, 24. Feb 2006 8:09
- Kontaktdaten:
xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
Hi,
gibt es eine Möglichkeit innerhalb eines Browsers jede zweite Zeile eine andere Hintergrundfarbe zu zuordnen (ganz Unabhängig von den Werten etc.)? Soll rein der Optik dienen.
Gruß,
Notloesung
gibt es eine Möglichkeit innerhalb eines Browsers jede zweite Zeile eine andere Hintergrundfarbe zu zuordnen (ganz Unabhängig von den Werten etc.)? Soll rein der Optik dienen.
Gruß,
Notloesung
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Die Hintergrundfarbe kann man ja recht einfach manipulieren. Das Problem besteht darin, jede 2. Zeile zu treffen. Ich hab mal einen Browse geschrieben, wo die Hintergrundfarbe abhängig von einem bestimmten Wert war. Wenn Du da also nicht mit Index arbeitest, kannst Du das über den Recno() machen, jeder gerade normal und jeder ungerade anders.
Theoretisch sollte das sicher auch bei Index-Nutzung funktionieren. Da wüsste ich im Moment aber nicht, wie man da die Satznummer feststellt. geht aber bestimmt
Jan
Theoretisch sollte das sicher auch bei Index-Nutzung funktionieren. Da wüsste ich im Moment aber nicht, wie man da die Satznummer feststellt. geht aber bestimmt
Jan
-
- Rekursionen-Architekt
- Beiträge: 194
- Registriert: Fr, 24. Feb 2006 8:09
- Kontaktdaten:
Hallo Jan,Jan hat geschrieben:Die Hintergrundfarbe kann man ja recht einfach manipulieren. Das Problem besteht darin, jede 2. Zeile zu treffen. Ich hab mal einen Browse geschrieben, wo die Hintergrundfarbe abhängig von einem bestimmten Wert war. Wenn Du da also nicht mit Index arbeitest, kannst Du das über den Recno() machen, jeder gerade normal und jeder ungerade anders.
das mit den Farben abhängig vom Wert habe ich auch schon gemacht. Aber auf die Idee mit der RecNo() bin ich einfach nicht gekommen.
Das werde ich gleich mal testen.
Danke,
Notloesung
-
- Rekursionen-Architekt
- Beiträge: 194
- Registriert: Fr, 24. Feb 2006 8:09
- Kontaktdaten:
Hallo Jan,Jan hat geschrieben:kannst Du das über den Recno() machen, jeder gerade normal und jeder ungerade anders.
lässt sich leider nicht so einfach realisieren.
Ich habe es mit der Recno() und der Zeilenummer des Browsers probiert.
Funktionier aber nicht so wie es soll - was auch logisch ist.
Beim blättern ändert sich (ständig) sowohl die Recno() auch die Zeilennummer des Browsers. Und dann wird natürlich jedes Mal die Farbe geändert und zwar immer in jeder! Zeile.
Schade ...
Gruß,
Notloesung
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
??? Die Recno() darf sich doch nicht ändern. Die hat ja nix mit dem Browse zu tun. Da sollte also die Markierung mitwandern.
Mit der Zeilennummer des Browses hast Du natürlich recht - das kann nicht gut gehen, wenn Du die farbige Markierung auf dem Datensatz und nicht auf der Browserzeile haben möchtest.
Jan
Mit der Zeilennummer des Browses hast Du natürlich recht - das kann nicht gut gehen, wenn Du die farbige Markierung auf dem Datensatz und nicht auf der Browserzeile haben möchtest.
Jan
-
- Rekursionen-Architekt
- Beiträge: 164
- Registriert: Mo, 09. Jan 2006 17:06
- Wohnort: Paderborn
- Hat sich bedankt: 2 Mal
- Kontaktdaten:
Hallo,
die colorblock ivar von Xbpcolumn ist nicht vollständig dokumentiert.
Es wird nicht nur der Wert , sondern auch die Spalte und Zeilennummer übergeben.
Also kannst Du folgendes in der Init-Methode Deiner (abgeleiteten) xbpbrowseColumn benutzen:
und dann...
Das habe ich nicht exakt so getestet, aber es sollte funktionieren.
Hans
die colorblock ivar von Xbpcolumn ist nicht vollständig dokumentiert.
Es wird nicht nur der Wert , sondern auch die Spalte und Zeilennummer übergeben.
Also kannst Du folgendes in der Init-Methode Deiner (abgeleiteten) xbpbrowseColumn benutzen:
Code: Alles auswählen
::colorblock := {|xValue,oCol,nRow|self:SetCellColor(xValue,oCol,nRow)}
Code: Alles auswählen
METHOD xbpColumn:SetCellColor (xValue,a,nRow)
LOCAL aColor := {}
IF nRow % 2 = 0
aColor := {GRA_CLR_BLACK, GRA_CLR_YELLOW}
ELSE
aColor := {GRA_CLR_BLACK, GRA_CLR_WHITE}
ENDIF
RETURN aColor
Hans
-
- Rekursionen-Architekt
- Beiträge: 194
- Registriert: Fr, 24. Feb 2006 8:09
- Kontaktdaten:
Hallo Hans,hschmidt hat geschrieben:Das habe ich nicht exakt so getestet, aber es sollte funktionieren.
das funktioniert richtig gut.
Danke.
Hi Jan,Jan hat geschrieben:Die Recno() darf sich doch nicht ändern.
das ist richtig und auch das funktiniert. Habe eben nur die falsche Recno() genommen. Ich nehme jetzt aber die Lösung von Hans, da ich dabei kein Kopf um den Index machen brauch.
Danke für die Hilfe!
Notloesung
- Jan
- Marvin
- Beiträge: 14655
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Hallo Noti,
und ich hatte mich beim Recno() schon gewundert!
Das die Lösung von Hans besser ist ist mir schon klar. Denn dann ist auch ein Index vollkommen egal. Und es ist eleganter. Man muß halt nur die undokumentierten Parameter alle kennen, dann klappts auch mit dem Nachbarn, äh Browse.
Jan
und ich hatte mich beim Recno() schon gewundert!
Das die Lösung von Hans besser ist ist mir schon klar. Denn dann ist auch ein Index vollkommen egal. Und es ist eleganter. Man muß halt nur die undokumentierten Parameter alle kennen, dann klappts auch mit dem Nachbarn, äh Browse.
Jan
Zuletzt geändert von Jan am Mo, 25. Jun 2007 17:29, insgesamt 1-mal geändert.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hallo Jan,
per PDR Formular kann man auch Fehler / fehlende Hinweise in der
Dokumentation melden. Habe ich auch schon gemacht, allerdings
weiß ich jetzt nicht mehr ob sich daraufhin was geändert hat.
Sollten die Parameter noch nicht endgültig sein kann ja Alaska sagen dass das vorläufig ist.
per PDR Formular kann man auch Fehler / fehlende Hinweise in der
Dokumentation melden. Habe ich auch schon gemacht, allerdings
weiß ich jetzt nicht mehr ob sich daraufhin was geändert hat.
Sollten die Parameter noch nicht endgültig sein kann ja Alaska sagen dass das vorläufig ist.
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Jan,
das war schon häufiger Thema...
Funktionen sind aus den unterschiedlichsten Gründen undokumentiert...
Viele Grüße,
Martin
das war schon häufiger Thema...
Funktionen sind aus den unterschiedlichsten Gründen undokumentiert...
- Das Dokumentieren wurde vergessen (eher selten)
- Sie sind ursprünglich geplant gewesen, aber aus verschiedenen Gründen durch andere Funktionalität (oder Planungen) obsolet
- Sie laufen nicht richtig rund und sollen erst noch verfeinert werden
- ...
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
hi,
und :footing anwendbar. Alle 3 Objecte enthalten eine Refernz auf
XbpCellGroup(). Dort findet man auch die vollständig documentierte
Methode
gruss by OHR
Jimmy
Das ist nicht ganz richtig. Der Colorblock ist auf :dataArae, :Headinghschmidt hat geschrieben: die colorblock ivar von Xbpcolumn ist nicht vollständig dokumentiert.
und :footing anwendbar. Alle 3 Objecte enthalten eine Refernz auf
XbpCellGroup(). Dort findet man auch die vollständig documentierte
Methode
Code: Alles auswählen
:setCellColor(<nRowPos>, [<nColorFG>], [<nColorBG>], [<lRepaint>] )
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 164
- Registriert: Mo, 09. Jan 2006 17:06
- Wohnort: Paderborn
- Hat sich bedankt: 2 Mal
- Kontaktdaten:
Jimmy,
ich habe nicht gesagt, dass die setCellColor-Methode unvollständig dokumentiert ist, sondern die Colorblock-Instanzvariable.
aus der Doku:
BTW: hauptsache, es funktioniert.
Hans
ich habe nicht gesagt, dass die setCellColor-Methode unvollständig dokumentiert ist, sondern die Colorblock-Instanzvariable.
aus der Doku:
Dort wird als Parameter nur xValue und eben nicht oCol und nRow erwähnt.In die Instanzvariable :colorBlock kann optional ein Codeblock eingetragen werden. Ihm wird als Parameter der Wert übergeben, der in der aktuellen Zelle angezeigt werden soll. Das ist der Rückgabewert des :dataLink Codeblocks. In Abhängigkeit dieses Wertes kann die Farbe einer Zelle definiert werden. Dazu muß der Codeblock in :colorBlock ein Array mit zwei Elementen zurückgeben, die Farbkonstanten für die Vorder- und Hintergrundfarbe der Zelle beinhalten. Die allgemeine Form des Codeblocks lautet:
{|xValue| IIf( <lExpression>, {<nColorFG1>,<nColorBG1>}, ;
{<nColorFG2>,<nColorBG2>} )
BTW: hauptsache, es funktioniert.
Hans
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
hi,
was ich meine ist das zwar "scheinbar" Coordinaten im :ColorBlock
ausgegeben werden, aber ich bin der Meinung das man die nicht
benutzten kann/sollte weil die zur Laufzeit dann nicht mehr stimmen.
Wenn du eine "lange" Liste hast sieht es ja im ersten Moment so aus,
aber wenn du dann scrollst ... (je nachdem ob die letzte Zeile %2=0 )
Das scrollen muss man noch mit xbpColumn:HiliteRow() abfangen
... (auch hier ob die erste/letzte Zeile %2=0 ...)
und dann gibt es auch noch Crtl-PgDn/PgUp ... damit wären wir bei
der xbpColumn:DrawRow( nRow, lRedraw ) Methode ...
wenn man aber schon bei der xbpColumn:DrawRow() Methode ist
kann man hier die "einfärbung" vornehmen in der "richtigen" nRow !
gruss by OHR
Jimmy
Nachtrag : Was man nun für Methoden braucht und wie man die
anwedet kann man sich am Beispiel von Alaska ansehen.
C:\ALASKA\XPPW32\SOURCE\samples\basics\QBrowse\QBROWSE2.prg
was ich meine ist das zwar "scheinbar" Coordinaten im :ColorBlock
ausgegeben werden, aber ich bin der Meinung das man die nicht
benutzten kann/sollte weil die zur Laufzeit dann nicht mehr stimmen.
Wenn du eine "lange" Liste hast sieht es ja im ersten Moment so aus,
aber wenn du dann scrollst ... (je nachdem ob die letzte Zeile %2=0 )
Das scrollen muss man noch mit xbpColumn:HiliteRow() abfangen
... (auch hier ob die erste/letzte Zeile %2=0 ...)
und dann gibt es auch noch Crtl-PgDn/PgUp ... damit wären wir bei
der xbpColumn:DrawRow( nRow, lRedraw ) Methode ...
wenn man aber schon bei der xbpColumn:DrawRow() Methode ist
kann man hier die "einfärbung" vornehmen in der "richtigen" nRow !
gruss by OHR
Jimmy
Nachtrag : Was man nun für Methoden braucht und wie man die
anwedet kann man sich am Beispiel von Alaska ansehen.
C:\ALASKA\XPPW32\SOURCE\samples\basics\QBrowse\QBROWSE2.prg
- andreas
- Der Entwickler von "Deep Thought"
- Beiträge: 1902
- Registriert: Mi, 28. Sep 2005 10:53
- Wohnort: Osnabrück
- Hat sich bedankt: 4 Mal
- Kontaktdaten:
Ich habe jetzt den von Jimmy genannten Beispiel C:\ALASKA\XPPW32\SOURCE\samples\basics\QBrowse\QBROWSE2.prg
auf XbpBrowse umgestrickt.
Soweit funktioniert es jetzt besser, obwohl ich nicht weiss, ob ich alles richtig gemacht habe.
Jetzt habe ich aber ein anderes Problem. Mein an die Spalten zugewiesener Colorblock funktioniert nur in den Spalten, wo die Zeileneinfärbung nicht eingreift.
auf XbpBrowse umgestrickt.
Code: Alles auswählen
CLASS XbpColoredBrowse FROM XbpBrowse
EXPORTED:
VAR EvenRow
INLINE METHOD Init( p1, p2, p3, p4, p5, p6 )
::XbpBrowse:Init( p1, p2, p3, p4, p5, p6 )
::EvenRow := .T.
RETURN self
INLINE METHOD DrawRow( nRow, nCol, aValues, nCols, lRedraw )
LOCAL aValue, j
LOCAL lRGBLightBlue := {201,222,245}, lHilite := .F.
/*
* Zeile zeichnen
*/
::XbpBrowse:DrawRow( nRow, nCol, aValues, nCols, lRedraw )
*aValue := ::dataLink:GetRowData( nRow )
/*
* Die Zeile einfaerben, abhaengig davon, ob wir aktuell gerade
* oder ungerade Zeilen einfaerben.
*/
IF ::EvenRow
IF nRow % 2 == 0
lHilite := .T.
ENDIF
ELSE
IF nRow % 2 == 1
lHilite := .T.
ENDIF
ENDIF
IF lHilite //.AND. ValType(aValues[1]) != "U"
FOR j := 1 TO ::ColCount
::getColumn(j):dataArea:SetCellColor( nRow, NIL, GRA_CLR_PALEGRAY, lRedraw )
*::dataArea:SetCellColor( nRow, j, NIL, GraMakeRGBColor( lRGBLightBlue ), lRedraw )
NEXT
ENDIF
RETURN .T.
INLINE METHOD ScrollDown( nScroll )
IF nScroll % 2 == 1
::EvenRow := !::EvenRow
ENDIF
RETURN ::XbpBrowse:ScrollDown( nScroll )
INLINE METHOD ScrollUp( nScroll )
IF nScroll % 2 == 1
::EvenRow := !::EvenRow
ENDIF
RETURN ::XbpBrowse:ScrollUp( nScroll )
INLINE METHOD RefreshAll( p1, p2 )
::EvenRow := .T.
RETURN ::XbpBrowse:RefreshAll( p1, p2 )
INLINE METHOD GoTop()
::EvenRow := .T.
::XbpBrowse:GoTop()
RETURN ::ForceStable()
INLINE METHOD GoBottom()
::EvenRow := .T.
::XbpBrowse:GoBottom()
RETURN ::ForceStable()
ENDCLASS
Jetzt habe ich aber ein anderes Problem. Mein an die Spalten zugewiesener Colorblock funktioniert nur in den Spalten, wo die Zeileneinfärbung nicht eingreift.
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
hi,
schon ziemlich nahe. So ähnlich sah mein Versuch auch aus, aber
während es die Methode DrawRow wohl auch für QuickBrowse gibt
sind die anderen "eigendlich" für XbpColumn ... wunder ...
gestört wenn der über einem Colorblock stand. Hier eine Lösung wieder
mal von Diego :
vielleicht solltest du versuchen doch das ganze vom XbpColumn abzu-
leiten statt von XbpBrowse ?
gruss by OHR
Jimmy
hm ... gesehen und probiert und ja da kommen wir der Sache dochandreas hat geschrieben: auf XbpBrowse umgestrickt.
...
schon ziemlich nahe. So ähnlich sah mein Versuch auch aus, aber
Code: Alles auswählen
INLINE METHOD DrawRow( nRow, nCol, aValues, nCols, lRedraw )
INLINE METHOD ScrollDown( nScroll )
INLINE METHOD ScrollUp( nScroll )
sind die anderen "eigendlich" für XbpColumn ... wunder ...
sowas in der Art hatte mich schon bei einem normalen Cursor (ROW)andreas hat geschrieben: Soweit funktioniert es jetzt besser, obwohl ich nicht weiss, ob ich alles richtig gemacht habe.
Jetzt habe ich aber ein anderes Problem. Mein an die Spalten zugewiesener Colorblock funktioniert nur in den Spalten, wo die Zeileneinfärbung nicht eingreift.
gestört wenn der über einem Colorblock stand. Hier eine Lösung wieder
mal von Diego :
Code: Alles auswählen
CLASS XbpColumnLocal FROM XbpColumn
******************************************
EXPORTED:
INLINE METHOD HiliteRow( nRowPos, lHilite, lFrame, lRepaint )
*************************************************************
LOCAL aColor
LOCAL RETVAR
IF ( lHilite ) // .AND. ( aColor:= Eval( ::colorBlock ) ) # nil
IF ::colorBlock # NIL
aColor:= Eval( ::colorBlock )
IF aColor = NIL
RETVAR := ::XbpColumn:HiliteRow( nRowPos, lHilite, lFrame, lRepaint )
ELSE
RETVAR := ::dataArea:setCellColor( nRowPos, aColor[ 1 ], aColor[ 2 ] )
ENDIF
ELSE
RETVAR := ::XbpColumn:HiliteRow( nRowPos, lHilite, lFrame, lRepaint )
ENDIF
ELSE
RETVAR := ::XbpColumn:HiliteRow( nRowPos, lHilite, lFrame, lRepaint )
ENDIF
RETURN RETVAR
ENDCLASS
leiten statt von XbpBrowse ?
gruss by OHR
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
hi,
mit vorhandenen Color Codeblock angeht
wenn du dann auch für Column die einen Colorblock haben die Class
XbpColumnLocal() von Diego benutzt, dann sieht man auch bei einem
XBPBRW_CURSOR_ROW die Farben wenn man draufsteht.
gruss by OHR
Jimmy
also damit bin ich nicht weiter gekommen, wohl aber was das ProblemAUGE_OHR hat geschrieben: vielleicht solltest du versuchen doch das ganze vom XbpColumn abzu-
leiten statt von XbpBrowse ?
mit vorhandenen Color Codeblock angeht
Code: Alles auswählen
INLINE METHOD DrawRow( nRow, nCol, aValues, nCols, lRedraw )
LOCAL aValue, j
LOCAL aRGB := {153,255,203}
LOCAL lHilite := .F.
/*
* Zeile zeichnen
*/
::XbpBrowse:DrawRow( nRow, nCol, aValues, nCols, lRedraw )
/*
* Die Zeile einfaerben, abhaengig davon, ob wir aktuell gerade
* oder ungerade Zeilen einfaerben.
*/
IF ::EvenRow
IF nRow % 2 == 0
lHilite := .T.
ENDIF
ELSE
IF nRow % 2 == 1
lHilite := .T.
ENDIF
ENDIF
IF lHilite //.AND. ValType(aValues[1]) != "U"
FOR j := 1 TO ::ColCount
IF ::getColumn(j):colorBlock <> NIL
Eval( ::getColumn(j):colorBlock )
ELSE
::getColumn(j):dataArea:SetCellColor( nRow, NIL, GraMakeRGBColor(aRGB), lRedraw )
ENDIF
NEXT
ENDIF
RETURN .T.
XbpColumnLocal() von Diego benutzt, dann sieht man auch bei einem
XBPBRW_CURSOR_ROW die Farben wenn man draufsteht.
gruss by OHR
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 194
- Registriert: Fr, 24. Feb 2006 8:09
- Kontaktdaten:
Guten Morgen!
Warum denn so kompliziert ( )
Bei funktioniert es, bisher ohne Macken, durch eine einfache ColorBlock Zuweisung. Diesen weise ich aber jeder Column zu
Hier die Column:
Meine aPP:
Das war’s. Wie gesagt geht ohne Probleme (habe dies bisher nur im Test, ist also noch nicht produktiv - hoffe da tauchen dann nicht irgendwelche Unvorhersehbahren Probleme auf).
Gruß,
Notloesung
Warum denn so kompliziert ( )
Bei funktioniert es, bisher ohne Macken, durch eine einfache ColorBlock Zuweisung. Diesen weise ich aber jeder Column zu
Hier die Column:
Code: Alles auswählen
// Anfragenummer
aPP[1][2] := pp_ANFRAGENUMMER
aPP[8][2] := 8
oXbpColumn := XbpColumn():new(,,,,aPP)
oXbpColumn:dataLink := {|| SQLBSANF->ANF_NR }
oXbpcolumn:colorBlock := {|xValue,oCol,nRow| IIf( nRow % 2 == 0, ;
{NIL,pnWINLINE_BG_5}, ;
{NIL,pnWINLINE_BG_3} ) }
oXbpColumn:create()
::oBrowserSQL:addColumn( oXbpColumn )
Code: Alles auswählen
// Allgemeine Präsentationsparameter für den Browser
aPP := { ;
{ XBP_PP_COL_HA_CAPTION , "" }, ; // Überschrift Kopfzeile
{ XBP_PP_COL_HA_FGCLR , GRA_CLR_WHITE }, ; // Schriftfarbe - Überschrift
{ XBP_PP_COL_HA_BGCLR , pnWINLINE_BG_2 }, ; // Hintergrundfarbe - Überschrift
{ XBP_PP_COL_HA_HEIGHT , 20 }, ; // Höhe der Kopfzeile in Pixel
{ XBP_PP_COL_HA_ALIGNMENT , XBPALIGN_TOP }, ; // Ausrichtung von Text
{ XBP_PP_COL_DA_FGCLR , GRA_CLR_BLACK }, ; // Hervorgehobene Vordergrundfarbe
{ XBP_PP_COL_DA_BGCLR , pnWINLINE_BG_3 }, ; // Hervorgehobene Hintergrundfarbe
{ XBP_PP_COL_DA_CHARWIDTH , XBP_AUTOSIZE }, ; // Spaltenbreit in Buchstaben!
{ XBP_PP_COL_DA_ROWSEPARATOR, XBPCOL_SEP_NONE }, ; // Trennlinie zwischen Zeilen
{ XBP_PP_COL_DA_COLSEPARATOR, XBPCOL_SEP_NONE }, ; // Trennlinie zwischen Spalten
{ XBP_PP_COL_DA_HILITE_FGCLR, GRA_CLR_BLACK }, ; // Hervorgehobene Schriftfarbe
{ XBP_PP_COL_DA_HILITE_BGCLR, pnWINLINE_BG_4 }, ; // Hervorgehobene Hintergrundfarbe
{ XBP_PP_COL_DA_ROWHEIGHT , 9 }, ; //
{ XBP_PP_COL_DA_HILITEFRAMELAYOUT, XBPCOL_SEP_LINE }, ; //
{ XBP_PP_COL_DA_CELLFRAMELAYOUT, XBPFRAME_BOX }, ; //
{ XBP_PP_COL_DA_CELLHEIGHT , 9 } ; // Höhe der Zelle in Pixel
}
Gruß,
Notloesung
- andreas
- Der Entwickler von "Deep Thought"
- Beiträge: 1902
- Registriert: Mi, 28. Sep 2005 10:53
- Wohnort: Osnabrück
- Hat sich bedankt: 4 Mal
- Kontaktdaten:
Hallo Notloesung,
ich habe es bei mir am Anfang auch so gemacht, mit dem Unterschied, dass ich das ganze in eine Funktion ausgelagert habe, um jedesmal weniger zu schreiben.
Dabei gab es Problem, wenn ich im Browse scrollen musste. Da tauchten plötzlich mehrere Zeilen in gleicher Farbe.
Mit der Lösung von Oben funktioniert es bis jetzt einwandfrei. Zumindest habe ich noch keine Fehler festgestellt.
ich habe es bei mir am Anfang auch so gemacht, mit dem Unterschied, dass ich das ganze in eine Funktion ausgelagert habe, um jedesmal weniger zu schreiben.
Dabei gab es Problem, wenn ich im Browse scrollen musste. Da tauchten plötzlich mehrere Zeilen in gleicher Farbe.
Mit der Lösung von Oben funktioniert es bis jetzt einwandfrei. Zumindest habe ich noch keine Fehler festgestellt.
Re: xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
Hallo,
ich hol das hier nochmal hoch.
Ist es irgendwie möglich, den "Zebra-Stil" zu behalten, auch wenn man danach nochmal mit ColorBlock verfärbt.
Er verfärbt mir zwar die Column`s, die auf die entsprechende Bedingung passen, allerdings mach er den restlichen Hintergrund weiß.
Kann mir jemand helfen. Danke
ich hol das hier nochmal hoch.
Ist es irgendwie möglich, den "Zebra-Stil" zu behalten, auch wenn man danach nochmal mit ColorBlock verfärbt.
Er verfärbt mir zwar die Column`s, die auf die entsprechende Bedingung passen, allerdings mach er den restlichen Hintergrund weiß.
Kann mir jemand helfen. Danke
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
Wenn der Colorblock NIL zurückliefert, sollten die Standardfarben bzw. Präsentationsparameter greifen:
Code: Alles auswählen
oCol:ColorBlock := {|x|IF(x='Juhu',{GRA_CLR_BLACK,GRA_CLR_GREEN},NIL)}
Herzlich,
Tom
Tom