xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
Moderator: Moderatoren
Re: xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
Nein, leider nicht.
Wie gesagt, die Zellen wo das x greift macht er, allerdings ist der Rest weiß.
An der Stelle sei gesagt, dass ich die Column´s über eine Schleife einlese, wenn ich sie hintereinander reinschreibe, macht er den "Zebra-Stil" allen Spalten außer in der wo die Bedingung zutrifft.
Wie gesagt, die Zellen wo das x greift macht er, allerdings ist der Rest weiß.
An der Stelle sei gesagt, dass ich die Column´s über eine Schleife einlese, wenn ich sie hintereinander reinschreibe, macht er den "Zebra-Stil" allen Spalten außer in der wo die Bedingung zutrifft.
- AUGE_OHR
- Marvin
- Beiträge: 12907
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
es gibt ja hier 2 Vorschläge :
1.) oXbpcolumn:colorBlock := {|xValue,oCol,nRow|
2.) ::XbpBrowse:DrawRow( nRow, nCol, aValues, nCols, lRedraw )
wie im Thread erwähnt verwende ich XbpColumnLocal() wenn es noch zusätzliche o:Coloblock Codeblöcke habe.
deshalb geht dan IMHO Vorschlag 1.) nicht in solchen Fällen denn da habe ich schon den o:Colorblock belegt
gruss by OHR
Jimmy
Jimmy
Re: xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
Danke für die Antwort,
leider das gleiche Ergebnis. Für die Spalte, in welcher ich meine Bedingung habe, bleibt der Hintergrund weiß, falls x nicht zutrifft.
Ich häng mal ein Bsp. ran.
leider das gleiche Ergebnis. Für die Spalte, in welcher ich meine Bedingung habe, bleibt der Hintergrund weiß, falls x nicht zutrifft.
Ich häng mal ein Bsp. ran.
Code: Alles auswählen
oDlg := GuiStdDialog()
SetAppWindow( oDlg )
drawingArea := oDlg:drawingArea
oBrowse := GuiBrowseDB() // XbpColoredBrowse
oColumn := XbpColumnLocal():new( oBrowse:setParent() )
oColumn := oBrowse:AddColumn( {|| &( aZellinhalt[1] )}, 20, "Spalte 1" )
oColumn:ColorBlock := {|x| if( x = "test", { GRA_CLR_BLACK, GRA_CLR_YELLOW }, NIL ) }
oColumn := oBrowse:AddColumn( {|| &( aZellinhalt[2] )}, 20, "Spalte 2" )
oColumn := oBrowse:AddColumn( {|| &( aZellinhalt[3] )}, 20, "Spalte 3" )
oColumn := oBrowse:AddColumn( {|| &( aZellinhalt[4] )}, 20, "Spalte 4" )
- AUGE_OHR
- Marvin
- Beiträge: 12907
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
das hast du jetzt falsch verstanden. XbpColumnLocal() ist dafür WENN ein ColorBlock durch den Cursor "verdeckt" wird.
hier mal ein Zebra Browse wo ein o:Colorblock, trotzt Cursor, angezeigt wird.
gruss by OHR
Jimmy
Jimmy
Re: xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
Ich glaube wir reden aneinander vorbei. Ich häng mal ein Bild ran
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2935
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
Setz doch mal statt nil deine Colorbedingung für das Zebra ein.
Viele Grüße
Wolfgang
Wolfgang
Re: xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
Das funktioniert zwar, allerdings nur für kleine Datenmengen ( ohne scrollen ).
- AUGE_OHR
- Marvin
- Beiträge: 12907
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
bei mir funktioniert es ohne Problem mit Wheel und grossen Daten Mengen.
zu deinem Snapshot : zeig uns doch mal deinen Codeblock
Code: Alles auswählen
IF ::getColumn( j ) :colorBlock <> NIL
EVAL( ::getColumn( j ) :colorBlock )
ELSE
wenn der o:ColorBlock aber abhängig "vom Wert" sein soll müsste man den Codeblock so schreiben
Code: Alles auswählen
oCol:Colorblock := {|| IF( ARTIKEL->Bestand < 1, { GRA_CLR_RED, GRA_CLR_WHITE }, NIL ) }
Code: Alles auswählen
IF ::getColumn( j ) :colorBlock <> NIL
IF EVAL( ::getColumn( j ) :colorBlock ) = NIL
::getColumn( j ) :dataArea:SetCellColor( nRow, NIL, GraMakeRGBColor( ::aRGB ), lRedraw )
ENDIF
ELSE
::getColumn( j ) :dataArea:SetCellColor( nRow, NIL, GraMakeRGBColor( ::aRGB ), lRedraw )
ENDIF
gruss by OHR
Jimmy
Jimmy
Re: xbpBrowse / XbpColumn -> unterschiedliche Zeilenfarbe?
Perfekt, jetzt passt es.
Die Lösung war die Zeile.
Bei mir sah es so aus
Ich danke dir für die Mühe.
Die Lösung war die Zeile.
Code: Alles auswählen
IF EVAL( ::getColumn( j ) :colorBlock ) = NIL
Code: Alles auswählen
IF ::getColumn( j ) :colorBlock <> NIL
EVAL( ::getColumn( j ) :colorBlock )
ELSEIF ::getColumn( j ) :colorBlock = NIL
::getColumn( j ):dataArea:SetCellColor( nRow, NIL, GraMakeRGBColor( ::aRGB ), lRedraw )
ELSE
::getColumn( j ):dataArea:SetCellColor( nRow, NIL, GraMakeRGBColor( ::aRGB ), lRedraw )
ENDIF