Solved

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

Posted on 2009-04-09
2
827 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
countHi2 challenge 7 63
t-sql sp_addlinkedserver possible risks 3 116
Create animated movies for web page 18 161
Unexpected End of File 11 81
This article will show, step by step, how to integrate R code into a R Sweave document
When we want to run, execute or repeat a statement multiple times, a loop is necessary. This article covers the two types of loops in Python: the while loop and the for loop.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

738 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