<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rando &#187; ComboBox</title>
	<atom:link href="http://rando.ramonasoft.com/tag/combobox/feed/" rel="self" type="application/rss+xml" />
	<link>http://rando.ramonasoft.com</link>
	<description>a.k.a. master_of_puppetz@cristalab!!!</description>
	<lastBuildDate>Wed, 08 Sep 2010 13:50:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Mostrar DataTips de ComboBox en Flex</title>
		<link>http://rando.ramonasoft.com/2010/01/08/mostrar-datatips-de-combobox-en-flex/</link>
		<comments>http://rando.ramonasoft.com/2010/01/08/mostrar-datatips-de-combobox-en-flex/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 04:17:44 +0000</pubDate>
		<dc:creator>rando</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[ClassFactory]]></category>
		<category><![CDATA[ComboBox]]></category>
		<category><![CDATA[dropdownFactory]]></category>
		<category><![CDATA[showDataTips]]></category>

		<guid isPermaLink="false">http://rando.ramonasoft.com/?p=60</guid>
		<description><![CDATA[Los que hemos trabajado en Flex con Listas o ComboBox hemos visto que algunas veces las etiquetas de cada item rebasan el tamaño del control provocando que esta no se vea por completo, para el control List podemos resolver eso fácilmente poniendo en true la propiedad showDataTips, sin embargo para el ComboBox no hay algo [...]]]></description>
			<content:encoded><![CDATA[<p>Los que hemos trabajado en Flex con Listas o ComboBox hemos visto que algunas veces las etiquetas de cada item rebasan el tamaño del control provocando que esta no se vea por completo, para el control List podemos resolver eso fácilmente poniendo en <em>true</em> la propiedad <a href="http://livedocs.adobe.com/flex/3/langref/mx/controls/listClasses/ListBase.html#showDataTips" target="_blank">showDataTips</a>, sin embargo para el ComboBox no hay algo tan directo como esto, la solución es crear un <a href="http://livedocs.adobe.com/flex/3/langref/mx/controls/ComboBox.html#dropdownFactory" target="_blank">dropdownFactory</a>, con esto creamos una nueva instancia del control List (pues el control que aparece en el drop down del ComboBox es un List) y podrémos modificar las propiedades que necesitemos, para este caso, que muestre dataTips y especificar quien será el dataTip o bien, crear una función para que sea la que despliegue la información.<br />
El código en AS3 quedaría así:</p>
<pre>private var ddf:ClassFactory
private var dp_ac:ArrayCollection = new ArrayCollection([
   {etiqueta: "Texto un poco laaaaaargo"},
   {etiqueta: "Texto un poco laaaaaargo"},
   {etiqueta: "Texto un poco laaaaaargo"},
   {etiqueta: "Texto un poco laaaaaargo"},
   {etiqueta: "Texto un poco laaaaaargo"},
   {etiqueta: "Texto un poco laaaaaargo"},
   {etiqueta: "Texto un poco laaaaaargo"}
]);

//donde init se dispara en el creationComplete del .mxml
private function init():void
{
   ddf = new ClassFactory(List);
   var propiedades:Object = {
      showDataTips: true,
      dataTipField: "etiqueta"
   }
   ddf.properties = propiedades;
   var cb:ComboBox = new ComboBox();
   cb.dropdownFactory = ddf;
   cb.dataProvider = dp_ac;
   cb.width = 75;
   cb.labelField = "etiqueta";
   this.addChild(cb);
}</pre>
<p>en caso de que el ComboBox se haga desde el MXML el código sería así (eliminando desde <em>var cb:ComboBox = new ComboBox();</em> hasta <em>this.addChild(cb);</em> del código anterior):</p>
<pre>&lt;mx:ComboBox id="cb" dataProvider="{dp_ac}" dropdownFactory="{ddf}" width="75" labelField="etiqueta"/&gt;</pre>
<p style="text-align: left;">y ya en la ejecución se vería como la siguiente imagen:</p>
<p style="text-align: center;">
<img class="aligncenter" src="http://l4c.me/uploads/combobox-1263009640_full550.png" border="0" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://rando.ramonasoft.com/2010/01/08/mostrar-datatips-de-combobox-en-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
