Comunidad de diseño web y desarrollo en internet online

Llamar a una funcion desde un itemRender de un DataGrid

Citar            
MensajeEscrito el 21 Jul 2009 07:10 pm
Hola, tengo un problemilla. Estoy utilizando el ItemRender para introducir componentes dentro de un DataGrid.
El caso es que cuando introduzco un componente como por ejemplo una Imgen o un Link Button para que cuando se haga click llame a una funcion, me salta el siguiente error: 'Llamada a un metodo boxscore posiblemente no declarado'

El codigo que utilizo es este:
...
.<mx:Script>
...
public function boxscore(url : String):void{
navigateToURL(new URLRequest (url), "_blank");
}
]]>
...
</mx:Script>
...

//he probado de 2 maneras y en las dos me sale el error
//primera manera

<mx:DataGridColumn headerText="" dataField="enlace">
<mx:itemRenderer>
<mx:Component>
<mx:LinkButton label="Boxscore" textAlign="center" click="boxscore(enlace)/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>

//segunda manera
<mx:DataGridColumn headerText="" dataField="enlace">
<mx:itemRenderer>
<mx:Component>
<mx:LinkButton label="Boxscore" textAlign="center">
<mx:Script>
<![CDATA[
override public function set data(o:Object):void
{
boxscore(o.enlace);
}
]]>
</mx:Script>
</mx:LinkButton>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>

Les agradeceria me expusieran la manera correcta para poder incluir el linkbutton en el datagrid para q al acer click llamara a la funcion pasandole el argumento del campo del datagrid

Gracias anticipadas

Por 2plu

30 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jul 2009 08:07 pm
cambia enclace por un evento, luego al hacer click atrapa ese evento y estando en esa celda determinad usa selecteditem del propio datagrid

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jul 2009 08:35 pm
No he entendido la respuesta. Si pudieras poner codigo como ejemplo porfavor.
He intentado hacer lo mismo sin llamar a mi funcion, directamente el navigateToUrl()

<mx:DataGrid id="resultados_cyberquiniela" x="10" y="36" width="464" height="205">
<mx:DataGridColumn headerText="" dataField="enlace">
<mx:itemRenderer>
<mx:Component>
<mx:LinkButton label="Boxscore" textAlign="center" click="navigateToURL(new URLRequest (resultados_cyberquiniela.SelectedItem.enlace), '_blank')"/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
...

tambien he probado en vez de poner 'resultados_cyberquiniela.SelectedItem.enlace' por 'this.enlace'

No se como hacer para pasar el enlace que obtengo de la base de datos al LinkButton
porfavor ponganme algun ejemplo con codigo

Gracias

Por 2plu

30 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jul 2009 10:08 pm
prueba esto

click="outerDocument.boxscore(enlace);"/>

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jul 2009 10:25 pm
Me salta el error: Enlace a una propiedad enlace no definida.

Por 2plu

30 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jul 2009 10:47 pm
que es enlace tu le pasas el enclace, porque si es asi jamas te funiconara , insitio crea un evento y dentro de ese evento llamalo

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Jul 2009 06:57 am
Ya lo he podido solucionar. Dejo el codigo que he utilizado para resolver mi problema:

click="parentApplication.boxscore(data.enlace)"

Por 2plu

30 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.