Comunidad de diseño web y desarrollo en internet online

Asignar Variable a Columna especifica de DataGrid

Citar            
MensajeEscrito el 23 Abr 2010 06:21 am
Hola amigos, tengo una dificultad con un datagrid

Resulta que:
1. en la aplicacion principal tengo un boton que llama a la popup,
2. esa popup hace una consulta a la base de datos y visualiza el resultado en un datagrid dentro de esa popup
3. los datos que seleccione del datagrid del popup los paso a la aplicacion principal mediante una interface.as
4. esos datos los recupero poniendo: caja.data=variable_del_datagridPopUp; y me funciona perfecto

Lo que requiero hacer es asignar esos datos a otro DataGrid de la aplicacion principal y si se necesita añadirle mas items
conservando los anteriores.

ej.

asi recupero un dato de la popup

nombre_usuariocaja.data=nombre;

lo que busco hacer es algo similar a esto:

datagrid.id.data=nombre;

es decir, en la columna del datagrid que se llama "id" asignarle esa variable...

BASICAMENTE:

asignar una variable a una columna especifica del datagrid.

Espero explicarme, de lo contrario lo trato de explicar mejor.

Saludos mis Masters :D

Por iekzaer

7 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Abr 2010 01:22 pm
Un datagrid recibe un registro entero, el nombre de la columna ya le viene dado en el dataprovider ... ¿intentas agregar un registro a tu datagrid, es decir una fila más? ¿Estás usando Flex?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Abr 2010 04:14 pm
mcuhas gracias por responder:

si bro, se que cuando haces una busqueda en la db le mandas los rows en xml el resultado te lo toma como e4x el datagrid mediante el dataprovider...

pero ahora es una cuestion mas especifica, ya que de toda la busqueda en la db y presentado en un dg necesito solo una fila de ese resultado.

es decir, de un DataGrid de una popup guardo la fila seleccionada en una interface.as y en la plicacion principal uso esos datos (por llamarle variables)

la variable la asigno a un textbox sin problema

PERO no se como asignar esa variable a una columna especifica SOBRE UN DATAGRID

esa es mi duda, como puedes asignar un dato en especifico a una columna.

espero sea una explicacion mas sencilla de entender

P.D. si uso flex :roll:

saludos :D

Alfredo

Por iekzaer

7 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Abr 2010 04:54 pm
Suponiendo que tengo un datagrid con estas columnas:

Nombre - Direccion - Tel

le cambio la fila 5 con esto

myDP.setItemAt({Nombre:"Pepe", Direccion:"", Tel:""}, 4)

En este caso he reemplazado la 5 fila con el contenido nuevo, la columna nombre mostrará Pepe, las otras dos vacías. myDP es mi ArrayCollection que funciona como DataProvider, tienes que tener un binding hecho entre el datagrid y el dataprovider para que se refleje inmediatamente, sino vuelves a asignar

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Abr 2010 09:10 pm
pues puedes crear una funcion especifica en .as que te recupere la celda del datagrid seleccionado o en su defencto que te recupero por coordenadas eso es muy sencillo.

Por Shadonwk

50 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Abr 2010 11:07 pm
Exacto como lo quiero hacer, pero en mi caso en vez de ponerle una cadena predefinida como le asigno una variable?

ej.

tu me dices que lo ponga asi:

myDP.setItemAt({Nombre:"Pepe", Direccion:"", Tel:""}, 4)

pero requiero algo como de este estilo:

DataGrid.setItemAt( { Nombre: Variable_nombre, Direccion: variable_direccion, Tel: variable_tel }, 4);

en donde las variables son de tipo String o Number

y precisamente esas las mando a llamar desde el .as

Nuevamente MUCHAS GRACIAS POR CONTESTAR! :D

saludos

Alfredo

Por iekzaer

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Abr 2010 11:09 pm
y precisamente esas las mando a llamar desde el .as


No se exactamente que quieres decir con esto, peroi entiendo que tienes las variables con los datos, usa ese comando para meterlas en el dataProvider

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Abr 2010 11:18 pm
mm tal vez no soy bueno para explicarme :P

el codigo para añadir datos de una popup hacia la aplicacion principal me apoye en

http://foros.cristalab.com/titlewindow-textinput-y-demas-vainas-t70987/

en el .as guardo las variables de la funcion

package com
{
public interface ISetUserData
{
function setData(userName:String, userAge:Number):void;
}
}

y en la aplicacion principal las uso de esta manera en las cajas de texto

public function setData(userName:String, userAge:Number):void
{
PopUpManager.removePopUp(userData);
nombre.data=userName;
edad.data=userAge;
}

PEROOO ahora necesito meter esas variables (userName y userAge) dentro de un Datagrid

por eso pense que con tu linea lo puedo hacer pero con "cadenas_de_texto" y no con Variables

:D

Gracias bro

Alfredo

Por iekzaer

7 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Abr 2010 10:48 am
Entonces solo agrega la línea que te digo:

Código ActionScript :

public function setData(userName:String, userAge:Number):void
{
  PopUpManager.removePopUp(userData);
  nombre.data=userName;
  edad.data=userAge;
  myDP.setItemAt({Nombre:userName, Edad:userAge, Tel:""}, 4)
}


Cambia myDP por el nombre de ArrayCollection que hayas asignado como dataProvider del Datagrid. Recuerda reasignar si no has hecho un binding explícito

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Abr 2010 05:01 am
gracias por contestar de nuevo bro, estaba checando y pude hacerlo de esta forma

var DGArray:Array = [{idDG:id, nombreDG:nombre, precio_ventaDG:precio, unidadDG:tipo}];
initDG=new ArrayCollection(DGArray);

initDG es el DataProvider y si pasa los datos. :D

Ahora lo que quiero hacer es poder agregar mas datos a ese arreglo sin que se pierdan los que tiene y que los visualize en el datagrid

ej.

DGArray me imprime:

id -> 1
nombre -> lampara
precio -> 100
unidad -> pieza

Pero ahora quiero agregar otros datos al array lo malo es que no se cuales seran, de nuevo tengo solo las variables

id, nombre, precio, tipo

como puedo agregar estas variables al contenido del array? :D

saludos

Alfredo

Por iekzaer

7 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Abr 2010 01:25 pm
Si miras los métodos de ArrayCollection en la ayuda, descubrirás que tiene un método que se llama addItem, que básicamente agrega un elemento al Array. Si recorres los métodos de ArrayCollection, seguramente encontrarás la mayoría de los métodos que necesitas.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 Abr 2010 04:10 pm
ok lo voy a checar bro, muchas gracias?

sobre la busqueda del player, tambien esta relacionado al post? :P

saludos

alfredo

Por iekzaer

7 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Abr 2010 04:35 pm
No, mezclé respuestas, ya lo borré

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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