Solved

Dynamic creation of radio buttons in a radio group, using a custom object?

Posted on 2009-04-09
2
824 Views
Last Modified: 2012-05-06
All,

I'm looking for information on how to create a radio button group, based on the contents of an list of objects.
These objects, of type "Answer" have 2 string properties of "answerLetter" and "answerValue".

What I want to do is iterate over this collection of Answer objects, and create a radio button group, with the label being the Answer Value and the data being the Answer Letter.

How would I do this?  It appears to be adding the contents of my array collection as new radio buttons, but they are all on top of each other.  How do I space them out?  The text values appear to be populating correctly, but there appears to be n number of buttons on top of each other...
Simple answer class...
 
public class Answer
{
	private var _answerText:String;
	private var _answerLetter:String;
		
	public function Answer(...args)
    	{
  		this._answerLetter = args[0];
    		this._answerText = args[1];     		
    	}
		
        public function get answerText():String{
            return _answerText;
        }
        
        public function set answerText(answerText:String):void{
            _answerText = answerText;
        }
        
        public function get answerLetter():String{
            return _answerLetter;
        }
        
        public function set answerLetter(answerLetter:String):void{
            _answerLetter = answerLetter;
        }     
}
 
The panel has this on it.
 
<mx:RadioButtonGroup id="answerGroup" />
        <mx:Repeater id="rep" dataProvider="{cbCol}">
                <mx:RadioButton group="{answerGroup}" id="radios" label="{rep.currentItem.answerText}" data="{rep.currentItem.answerLetter}" />
        </mx:Repeater>
 
cbCol is populate when this method is called.
public function CreateRadioButtons(answersForThisQuestion:ArrayCollection){
				
	cbCol = new ArrayCollection();
	for(var i:int = 0; i<answersForThisQuestion.length; i++){		  cbCol.addItem(answersForThisQuestion.getItemAt(i) as Answer);
	}
			
}

Open in new window

0
Comment
Question by:csciguy81
2 Comments
 
LVL 5

Accepted Solution

by:
Fuzzy_Logic_ earned 50 total points
ID: 24110470
Put the RadioButtonGroup in a Tile component.
<mx:Tile direction="horizontal">
 
<mx:RadioButtonGroup id="answerGroup" />
        <mx:Repeater id="rep" dataProvider="{answersForThisQuestion}">
                <mx:RadioButton group="{answerGroup}" id="radios" label="{rep.currentItem.answerText}" data="{rep.currentItem.answerLetter}" />
        </mx:Repeater>
 
    
</mx:Tile> 

Open in new window

0
 

Author Closing Comment

by:csciguy81
ID: 31568662
Worked great!  Thanks!
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
firstChar challenge 13 115
groovy example issue 10 99
Cordova Camera plugin fails 2 120
Problem to Alipay 10 24
Preface This is the third article about the EE Collaborative Login Project. A Better Website Login System (http://www.experts-exchange.com/A_2902.html) introduces the Login System and shows how to implement a login page. The EE Collaborative Logi…
How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question