Radio Buttons – Adding Items

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

 

3 thoughts on “Radio Buttons – Adding Items

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s