May be I have discovered this late but thought of sharing this. Better late than never.
Recently I got a requirement where in I had to say start with 4 items in a radio button and display and in the run-time depending on some conditions I had to change/add/remove elements from the Radio button. Now how do we handle this situation.
I knew that we can show items in radio buttons using Base Enums. But then I thought why to create so many different Enums for one radio button.
I was looking at something which could give me a clue on this. I just chanced upon two properties of Radio Button Item and Items I read more about this and bingo I got the solution. Basically Item and Items is similar to what we have in a .Net language where-in you can define a collection of items for a control.
But unlike .Net in AX to define such a collection, there is a slightly different way. Here is what you need to do.
- Create a test form
- Add a Radio Button to Design
- In the properties set value Items = 3
- Now for property Item set value as 1 and in the property Text set value "This is Item 1"

- Again in the property Item set value as 2 and in the property Text set value "This is Item 2"

- Again in the property Item set value as 3 and in the property Text set value "This is Item 3"

- Now open the form and you will see all the three options

With this option availabe, I was easily able to play around with radio button items.
You can try out this one as well
- Add a Button say "Change"
- Write following code to "Clicked" method of the button and keep clicking it
void clicked()
{
;
super();
if (MyRadioButton.items() == 3)
{
MyRadioButton.items(4);
MyRadioButton.item(1);
MyRadioButton.text('Change to 4 Item 1');
MyRadioButton.item(2);
MyRadioButton.text('Change to 4 Item 2');
MyRadioButton.item(3);
MyRadioButton.text('Change to 4 Item 3');
MyRadioButton.item(4);
MyRadioButton.text('Change to 4 Item 4');
}
else if (MyRadioButton.items() == 4)
{
MyRadioButton.items(5);
MyRadioButton.item(1);
MyRadioButton.text('Next Change to 5 Item 1');
MyRadioButton.item(2);
MyRadioButton.text('Next Change to 5 Item 2');
MyRadioButton.item(3);
MyRadioButton.text('Next Change to 5 Item 3');
MyRadioButton.item(4);
MyRadioButton.text('Next Change to 5 Item 4');
MyRadioButton.item(5);
MyRadioButton.text('Next Change to 5 Item 5');
}
else
{
MyRadioButton.items(3);
MyRadioButton.item(1);
MyRadioButton.text('This is Item 1');
MyRadioButton.item(2);
MyRadioButton.text('This is Item 2');
MyRadioButton.item(3);
MyRadioButton.text('This is Item 3');
}
}