Ga naar inhoud
  • 0

checkboxen en doorgeven van script parameters


guyvt

Vraag

allen

 

Ik heb een vraagje: ik heb een scherm gemaakt in "list view" dat een reeks records toont. Voor elk record heb ik een "selectie" checkbox gezet, waarmee de gebruiker enkele van de uitgelijste records kan aanvinken om er daarna iets mee te doen.

Die checkbox is eigenlijk een "is_selected" veldje, dat dankzij de gekoppelde value list een "1" als waarde krijgt als de checkbox aangekruist is.

 

Onderaan het scherm staat een button die dan een actie uitvoert: deze roept een script aan en geeft de id-nummers van de aangekruiste records door. Of dat is toch de bedoeling ... Ik staag er namelijk niet in om enkel de id's van de aangekruiste records mee te geven. Ik geef nu ALLE id's door en ga dan in de script als eerste al die record overlopen om te zien welke er effectief aangekruist waren. Tamelijk dom, lijkt me, maar ik vind geen propere oplossing !!??

 

Alvast bedankt !!

Link naar reactie

8 antwoorden op deze vraag

Aanbevolen berichten

  • 0

het is beter om omgekeerd te werk te gaan.

 

werken met het veld "checked" werkt namelijk niet in een multiuser omgeving (het is niet omdat jij die aanduidt, dat ik er iets mee wil :))

 

Je kan beter met een globaal veld werken (is sessie afhankelijk) waar je de ID's gaat opslaan van de aangeduide records. Per record maak je dan een unstored calculatie die gaat kijken of zijn ID voorkomt in het globaal veld of niet (met een patterncount of filtervalues).

 

Op dat moment heb je dus bij het starten van je script ook direct al je ID's in het globaal veld staan.

Link naar reactie
  • 0

Mijn calculation field (per record) bevat de volgende definitie:

 

_k1_id = GetAsNumber (FilterValues (selected_g; _k1_id))

met Calculation Result = Number.

 

Waarbij _k1_id de prime key van elk record is,

en selected_g een global text field dat de geselecteerde id's bevat.

 

Hierdoor bevat de calculation een 1 (True) indien de id in de global staat, en anders een 0 (False).

Als ik dat veld dat display mbv een checkbox set, krijg ik m'n kruisje indien geselecteerd.

 

 

Nu een button maken die een select en een deselect in één Set Field kan doen ;-)

Link naar reactie
  • 0

Daar vergeet ik natuurlijk altijd naar te zoeken, naar een bestaande custom function ;-)

 

Ik had vannacht iets ingewikkelder gebrouwen:

 

1/ Mijn Set Field bevat het volgende:

 

Case (
// de id staat er al in => er uit halen
_k1_id = GetAsNumber (FilterValues (selected_g; _k1_id)); ExtractValue ( selected_g ; _k1_id ; 1 ; "" );

// er in zetten indien global nog leeg
IsEmpty (selected_g); _k1_id;

// achteraan toevoegen indien niet (meer) leeg
selected_g & "¶" & _k1_id
)

 

2/ Die Custom Function heb ik als volgt geschreven:

 

/*
Input:
- ValueList: set of values to be filtered
- ValueToExtract: the value to be left out
- Start, set to 1 to start, used to iterate thru ValueList
- Result: used to build up the result
Output:
- ValueList without ValueToExtract
*/

Let ( [
Start = If (IsEmpty (Start); 1; Start);
TestValue = GetValue (ValueList; Start)
];

Case (
       Start > ValueCount (ValueList); Result;
       TestValue = ValueToExtract; ExtractValue (ValueList; ValueToExtract; Start +1; Result);
       IsEmpty (Result); ExtractValue (ValueList; ValueToExtract; Start +1; TestValue);
       ExtractValue (ValueList; ValueToExtract; Start +1; Result & "¶" & TestValue)
)
)

 

'n Beetje omslachtig zo te zien ;-)

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...