Jump to content

Gekleurde regels in een lijstweergave bij FM 5/6


Recommended Posts

Posted (edited)

Waarschijnlijk is deze tip al eerder gegeven maar ik kon hem niet vinden vandaar dat ik hem toch maar geef.

 

In een portaal kan je de regels om en om een andere kleur geven. Maar wanneer je records in een lijstvorm afdrukt kan je dit niet standaard kiezen. Ik wilde in bepaalde gevallen, bepaalde lijsten toch wat beter leesbaar maken. Dit heb ik als volgt opgelos met 2 extra veldent

 

Veld 1: Achtergrond_basis, Veldefinitie: globaal => container

Dit veld bevat een plaatje van de kleur die je wilt toepassen als achtergrond

 

Veld 2: Achtergrond, Veldefinitie: berekening, uitkomst container

Case(

Right(Status(HuidigRecordnummer);1) = 1 or

Right(Status(HuidigRecordnummer);1) = 3 or

Right(Status(HuidigRecordnummer);1) = 5 or

Right(Status(HuidigRecordnummer);1) = 7 or

Right(Status(HuidigRecordnummer);1) = 9 ;

Achtergrond_basis)

Deze berekening kijkt in de lijst gevonden records en vult voor elke regel om en om het veld achtergrond met de kleur uit het veld Achtergrond_basis (regel 1, 3, 5, 7, 9, maar ook 11, 13, 15 etc.)

 

In de afdruklayout staat het veld Achtergrond op de regel helemaal onderop geplaatst en veldinvoer uit (waarom het is een afdruklayout maar je weet maar nooit) en ik heb het veld vergrendeld.

 

Het veld Achtergrond_basis is van elke layout verwijderd

 

Werkt naar mijn idee goed en het maakt in ieder geval mijn lijsten beter leesbaar.

 

Henk

Edited by Guest
Posted

Met de volgend formule kun je het ook oplossen:

If(

Length ( Int ( Status ( Current RecordNumber) / 2))

=

Length ( Status ( Current RecordNumber))

;

Containerveld 1

;

Containerveld 2

)

Als Current RecordNumber ongelijk is, dan heeft Current RecordNumber /2 een cijfer achter de comma. door de lengte te vergelijke met en zonder de functie int() wordt dat gecontroleerd.

Overigens, in Fmp 7 kun jet gewoon de kleur aangeven net als in een portal.

Posted

Beste Jan

 

Volgens mij werkt dit niet helemaal. Het gaat er namelijk om dat er per record gewisseld wordt van kleur. Wanneer ik jouw oplossing probeer krijg ik blokken record in de ene kleur afgewisseld met een ander kleur (of ik heb iets fout gedaan)

 

Verder werk ik nog met filemaker 6, Als filemaker 7 dit al standaard kan is deze keuze verder overbodig. Ik heb mijn filemaker 7 cd echter pas vandaag gehad en moet hier nog helemaal mee beginnen (en naar wat ik allemaal al gelezen heb, wordt dat weer opnieuw leren dus overstappen zal nog wel even duren)

 

mvg

 

Henk

Posted

Is ook een oplossing maar ik vond deze mooier

 

Ps

Ik doe dit nog niet zo lang en wilde een plaatje als voorbelld toevoegen maar hoe gaat dat op dit forum?

Posted

Als je een veld ColorDisplay hebt (calc, result container) en unstored ¡¡¡¡¡

 

GetRepetition(colorStorage; (Mod(Status(CurrentRecordNumber); 2) + 1))

 

en colorStorage is een global, container repeat lukt het allemaal....[/i]

Posted

If(

Length ( Int ( Status ( CurrentRecordNumber) / 2)) = Length ( Status(CurrentRecordNumber));

Containerveld 1;

Containerveld 2

)

 

Jan, jouw formule doet iets anders dan wat Henk nastreeft,

je moet de onderstaande formule hebben om de lijnen "om en om" te kleuren.

 

Case(
Int(Status(CurrentRecordNumber)/2)=Status(CurrentRecordNumber)/2; 
gKleur; 
""
)

 

de "Length" deed jou de das om.

Posted
Ik doe dit nog niet zo lang en wilde een plaatje als voorbelld toevoegen maar hoe gaat dat op dit forum?

 

zo dus ! :lol:

 

Onderaan je post vind je "Voeg een attachment toe", klik op Browse om je attachment te selecteren, klik daarna op OK om te posten.

 

Opgelet : je kan niet in alle rubrieken attachments meegeven en ook niet alle attachments zijn toegelaten. Klik voor meer info op de link : Toegestane Extensies and Grootten

lijstjeskleuren.jpg.277de50ccf311bde37debdb58b305685.jpg

Posted

Rony, daar ben ik intussen ook uit. De oplossing van Jean WM:

GetRepetition(colorStorage; (Mod(Status(CurrentRecordNumber); 2) + 1))

Vindt ik nog eleganter, eerlijk gezegd.

Posted
Rony, daar ben ik intussen ook uit. De oplossing van Jean WM:

GetRepetition(colorStorage; (Mod(Status(CurrentRecordNumber); 2) + 1))

Vindt ik nog eleganter, eerlijk gezegd.

 

Jean`s oplossing is zeker elegant en werkt zeer goed, maar ik (had) verwacht dat ze "Repeating"-functies uit FM (gingen) gaan knippen. Vandaar dat ik die probeer te mijden indien mogelijk.

Posted

Ik moet mijzelf een beetje schamen :oops:

 

Ondanks dat ik dit forum nog maar kort heb ontdekt werk ik toch al een aantal jaar met filemaker (in ben ergens 1989 begonnen met Filemaker II - nog zonder Pro). In al die jaren heb ik door zelfstudie veel van de functies uitgediept en weet ik naar mijn idee aardig de weg binnen filemaker. In functies zoals Mod en Int (en waarschijnlijk nog wel een paar) heb ik mij echter nooit zo verdiept omdat ze niet direct iets vertellen over de werking van de functie. Nu blijkt dus dat ik soms de lange weg naar Rome heb gebruikt. Sterker nog, voor mijn gekleurde regels staat de oplossing standaard in de handleiding:

 

Voorbeelden

 

Mod(13, 4) geeft als resultaat 1.

 

Mod(7, 5) geeft als resultaat 2.

 

Mod(Deelnemers, Teamgrootte) geeft als resultaat 4 wanneer Deelnemers het getal 40 bevat en Teamgrootte het getal 9.

 

If(Mod(Status (HuidigRecordnummer), 2) = 0, "even", "oneven") kent aan een record het label 'even' of 'oneven' toe met de functie Status (HuidigRecordnummer).

 

De tekst "even" en "oneven" vervangen door conainervelden is genoeg om gekleurde regels te creeren. De keuze van Jean WM om juist een herhalend veld te gebruiken, kan hij misschien wat toelichten.

 

Zo zie je maar weer, een mens is nooit te oud om te leren. Bedankt voor de tips

 

Nog even voor Rony

Bedankt voor het voorbeeld, dat is precies wat ik wilde laten zien. De rede dat het mijzelf niet gelukt is, is dat ik alles mag in dit forum behalve attachments plaatsen en berichten verwijderen

 

mvg

 

Henk

 

ps ik gebruik nu voor het berekeningsveld "achtergrond" unstored, type container de regel:

Case(Mod(Status(HuidigRecordnummer); 2) = 0;Achtergrond_basis)

Deze is voldoende voor één kleur en werkt goed

Posted

...juist een herhalend veld te gebruiken, kan hij misschien wat toelichten.

 

 

Oude gewoonte... :lol:

Ik stop alle te gebruiken kleurtjes in 1 veld...als er niet te veel zijn....

Zijn er verschillende bestanden in een toepassing, schakel ik over naar een 'global' bestand waar alle kleurtjes en pictogrammen etc. instaan, samen met een relatie krijg je alles op z'n plaats....en naar dat bestand kun je gelijk waar en gelijk wanneer verwijzen...

 

...iedereen heeft zo zijn 'eigen' (wijze) manier van werken.... :?

Posted

Wat hebben ze toch allemaal tegen die brave ouderwetse (??) repeating fields? Zolang je er de relationele kloon niet mee uithangt, is daar toch geen bezwaar tegen? Misschien krijg ik nu wel naar mijn kop in het Kwadraat ( :wink: ), maar ik vind dat Jean hier gelijk heeft: "ferm gemakkelijk", al die kleuren bijeen.

Posted

Ik ben het helemaal met jullie eens, alles lekker bij elkaar. :)

 

Ik gebruik het zelf ook in diverse bestanden. Maar om het voor alle gebruikers duidelijk te houden is het misschien niet verstandig om alle functies door elkaar te gebruiken. Het ging tenslotte om de functie Mod. Door nu extra functies in de formule toe te voegen wordt het voor de beginners onder ons misschien al snel abcadabra

 

Verder heb ik dus geen bezwaar tegen het gebruik van herhalende velden.

 

mvg

 

Henk

 

ps nog even over de attachments. Ik mag in sommige forums wel en in andere geen attachments toevoegen. Hoe is dit geregeld??

Posted

Houden we allemaal in de gaten dat het overbodig is geworden om deze functionaliteit in FileMaker Pro 7 zelf te bouwen?

 

In FileMaker Pro 7 kun je aan een body-gedeelte het kenmerk "Wisselende achtergrond" geven. In lijstweergave zullen de records dan om-en-om gekleurd zijn, zoals hier beschreven wordt voor FileMaker Pro 5/6.

 

Het zou - mijns inziens - juister zijn om "FMP5/6" daarom in de titel van deze draad op te nemen: Henk, zou je zo vriendelijk willen zijn?

Posted

 

 

Oh: ik wil ook nog graag een jaguar voor mijn deur :D

 

  

 

...laat die beestjes toch in de natuur...er zijn er al zo weinig.....

 

:?...of mis ik weer iets hier...¿¿¿¿

Posted

Ik ook met mijn stoere praat, hellaas sanne die kan ik je niet bieden. Vandaag kom ik niet verder dan je een prettig weekend te wensen

 

Dat geldt natuurlijk voor iedereen op het forum

 

Henk

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...