A TextInput field cannot take a dataprovider array as input values. Perhaps you can explain why you are trying to do what you are trying to do with a TextInput instead of a ComboBox?
 
matt h.


From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED]
Sent: Monday, August 22, 2005 11:03 AM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Question about shared objects

Ok I took the following code
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" xmlns="*">
<mx:Script>
<![CDATA[
private function addItemToCombo( event )
{
if ( event.target.text.length> 0 && !itemExsistsInComboDataProvider( event.target, event.target.text ) )
{
var combo = event.target;
combo.dataProvider.addItem( event.target.text );
var comboBoxSharedObject = SharedObject.getLocal( "editableCombo" )
comboBoxSharedObject.data.dataProvider= combo.dataProvider;
comboBoxSharedObject.flush();
}
}
private function addSharedObjectitems( combo ){
var comboBoxSharedObject= SharedObject.getLocal( "editableCombo" );
var sharedObjectDataProvider= comboBoxSharedObject.data.dataProvider;
for ( var p in sharedObjectDataProvider )
{
if ( !itemExsistsInComboDataProvider(combo, sharedObjectDataProvider[p] ) )
{
combo.dataProvider.addItem( sharedObjectDataProvider[p] );
}
}
}
private function itemExsistsInComboDataProvider( combo, item )
{
for (var p in combo.dataProvider)
{
if ( item == combo.dataProvider[p] )
return true;
}
return false;
}
]]>
</mx:Script>
<mx:ComboBox id ="theCombo" editable = "true"
enter ="addItemToCombo( event );"
initialize ="addSharedObjectitems( theCombo );" >
<mx:dataProvider>
<mx:Array>
<mx:String>Scotland</mx:String>
<mx:String>England</mx:String>
<mx:String>N. Ireland</mx:String>
<mx:String>Wales</mx:String>
</mx:Array>
</mx:dataProvider>
</mx:ComboBox>
</mx:Application>
 
 
 
Then I changed it to this making the mx:Combo in to a TextInput item.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" xmlns="*">
<mx:Script>
<![CDATA[
private function addItemToCombo( event )
{
if ( event.target.text.length> 0 && !itemExsistsInComboDataProvider( event.target, event.target.text ) )
{
var combo = event.target;
combo.dataProvider.addItem( event.target.text );
var comboBoxSharedObject = SharedObject.getLocal( "editableCombo" )
comboBoxSharedObject.data.dataProvider= combo.dataProvider;
comboBoxSharedObject.flush();
}
}
private function addSharedObjectitems( combo ){
var comboBoxSharedObject= SharedObject.getLocal( "editableCombo" );
var sharedObjectDataProvider= comboBoxSharedObject.data.dataProvider;
for ( var p in sharedObjectDataProvider )
{
if ( !itemExsistsInComboDataProvider(combo, sharedObjectDataProvider[p] ) )
{
combo.dataProvider.addItem( sharedObjectDataProvider[p] );
}
}
}
private function itemExsistsInComboDataProvider( combo, item )
{
for (var p in combo.dataProvider)
{
if ( item == combo.dataProvider[p] )
return true;
}
return false;
}
]]>
</mx:Script>
<mx:TextInput id ="theCombo" editable = "true"
enter ="addItemToCombo( event );"
initialize ="addSharedObjectitems( theCombo );" >
<mx:dataProvider>
<mx:Array>
<mx:String>Scotland</mx:String>
<mx:String>England</mx:String>
<mx:String>N. Ireland</mx:String>
<mx:String>Wales</mx:String>
</mx:Array>
</mx:dataProvider>
</mx:TextInput>
</mx:Application>
 
 
I got an error message what else do I have to do to change the combobox to a textinput box that I can use with a shared object


--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com




SPONSORED LINKS
Computer software testing Macromedia flex Development
Software developer


YAHOO! GROUPS LINKS




Reply via email to