List with Queue question on how to change it dynamically

Tags: #<Tag:0x00007fc0d2b366c8>

Good day,

Is it possible to change the columns and labels of a queue in a routine or procedure?

I have a bunch of different functions I want to call and want to update the queue requirements to that of the function.

I know using ?List1{Prop:From} = MyQ changes the queue, but want I am unsure of is changing the columns and labels used inside the list.

Is this possible?

See PROP:Format in the docs.

2 Likes

You can change individual columns using { PROPLIST:xxxxx, Column# } properties e.g. {PROPLIST:Header,1}=‘New Col 1 header’ which is Format() ~Header~. To change Queue field number assigned to a Column use PROPLIST:FieldNo,Col}=1 which is Format() #1#.

http://clarion.help/doku.php?id=proplist_properties_index.htm&s[]=proplist&s[]=header

I’m not quite clear on what you want to do. I’d guess a few places you said “Queue” you meant “List”. You could have multiple LIST controls each FROM() different Queues with the Format you desire then Unhide the one you want. For a truely dynamic LIst you can use a VLB = Virtual List Box.

I have a List Format Parser on GitHub that will show you all the PROPLIST’s for each column based on pasting in your LIST and FORMAT code. You have to hit the Preview button, then Format button, then double click on the column.

Thank you very much.

My idea was to have on List on a screen which I will be using for queues. I wanted to have the one screen with one list and actually change the list to use a different queue and once changed, I want the fields relevant to queue to be inside the List.

This way, once the data is pulled and inside the queue, I can then continue doing the different calculations and functions and once complete, then store it a Topspeed file.

I hope this makes more sense. Thank you for the link Carl. I really do appreciate the feedback.

You have two options:

  • Use a single LIST, adjusting its PROP:From to point to a different QUEUE, and PROP:Format to adjust the columns to match your chosen queue.
  • Use a separate LIST for each QUEUE, adjusting the format onscreen to match each one. Then hide all the lists except the desired one at runtime. This is often easier.