Page 1 of 1

populating a dropdown with information from the screen

Posted: 22 Dec 2022, 05:05
by Dino
Hi

Been playing today with this, the only particular detail is to be aware that the array is of an object that contains values and text.

So, if you have a screen like this one:
axesdd00.jpg
axesdd00.jpg (52.77 KiB) Viewed 22994 times
and you want to have the input field code, to have a dropdown, using the values listed below, you could first identify the screen, also identify the field containing the 1=aaa 2=bbb etc for example as "options", then, bring a dropdown in the input field "code", leave the dropdown as Fixed Values, and select the script for fixedValues, click edit:
axesdd01.jpg
axesdd01.jpg (109.09 KiB) Viewed 22994 times
you can use this script there for example, which basically moves the string in the screen to an array, temporarly each entry is also split by the = character and the two halfs are used to populate value and text, adding entries to the returnValue array:

Code: Select all

/* move the string 1=aaa 2=bbb etc to an array format {"1=aaa", "2=bbb", etc. } */
let arraytxt = (FIELDS("options").getValue()).split(' ');

/* clear the array */
ENV.returnValue = [];  

for (let i = 0; i < arraytxt.length; i++) {
  /* convert the array entry in another temporary array for example tmp[0] = 1, tmp[1] = aaa */
  let tmp = arraytxt[i].split('=');
  /* put it together as an object  and add it to the array*/
  var  object = { value: tmp[0], text: tmp[1]};
  ENV.returnValue.push(object);
}
more info here:
https://axesdocs.lansa.com.au/index.php ... 50cmllcyJd