Emulando click en combobox
Codigo
El problema surgió de la siguiente forma, después de haber liberado dos proyectos hechos en flex, las cuales ya habían sido probadas con la base de datos sin ningún problema y cuya funcionalidad ya estaba probada, surgió el inconveniente de que al embeber estos en una aplicación (Winform) propia del cliente, ya que esta mandaba llamar una form.mdiparent que era un webbrowser el cual cargaba los swf de flex, al hacer esto las aplicaciones trabajaban casi al 100% el problema eran los componentes combobox que perdían funcionalidad, ya que el evento de clic no era registrado por la aplicación si era cargada desde el webbrowser, bueno dudo mucho que alguien de la comunidad de la mononeurona tenga un problema similar y espero no estar corrompiendo la ideología de la misma, pero bueno lo solucione con el siguiente código:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()" viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
import mx.events.ListEvent;
public var info:String;
private function initApp():void
{
var data:XML = <campos>
<a label="Ubuntu" datos="0"/>
<a label="Debian" datos="1"/>
<a label="Suse" datos="2"/>
<a label="Red Hat" datos="3"/>
</campos>;
arbol = data.children();
}
private function Combo(event:ListEvent):void
{
var item:XML = event.itemRenderer.data as XML;
info = String(item.@datos);
}
]]>
</mx:Script>
<mx:XMLList id="arbol" />
<mx:ComboBox close="combo.selectedIndex=int(info)" id="combo" dataProvider="{arbol}" labelField="@label"
itemRollOver="Combo(event)"/>
</mx:Application>
Solo es crear un combobox que registre sobre que elemento de la lista estamos posicionados con el mouse, lógicamente el ultimo sobre el cual nos posicionaremos será sobre el cual hacemos clic es por ello que utilizamos el evento itemRollOver y Close del combobox, la función combo() registra el elemento sobre el cual esta el puntero del mouse mientras que el evento close solo cambia el ítem seleccionado del combobox.
Permalink: http://www.mononeurona.org/users/entry/kenshin/1505









