Jump to content
  • 0

checkboxen en doorgeven van script parameters


guyvt

Question

Posted

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 !!

8 answers to this question

Recommended Posts

  • 0
Posted

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.

  • 0
Posted

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 ;-)

  • 0
Posted

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 ;-)

  • 0
Posted

Als je opziet tegen een extra calculated field voor interface-doeleinden kan je conditional formatting gebruiken om de aangevinkte records visueel te markeren. Een wortel (√) doet het vaak prima :D

Groetjes,

Joris

Join the conversation

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

Guest
Answer this question...

×   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...