Radio Buttons – Adding Items on a Form

Radio Buttons – Adding Items

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