Hola,
LLevo varios días probando a resolver este problema y lo siento mucho pero no me funciona de ninguna forma, yo creo que debería de ser algo así para pasar los datos del combo al datagrid:
Código :
var alSeleccionarCombo:Object = new Object();
//nuestro evento change
alSeleccionarCombo.change = function(comboSelected) {
// trace("Has seleccionado la etiqueta comboBox: "+evento.target.selectedItem.label);
// trace("con la data: "+evento.target.selectedItem.data);
combotxt.text = comboSelected.target.selectedItem.label;
combo2txt.text = comboSelected.target.selectedItem.data;
servicio.cojerCategoria(comboSelected.target.selectedItem.data)
};
//Añadimos el listener para el comboBox
combo.addEventListener("change", alSeleccionarCombo);
He notado que si llamo al servicio al final de todo el código como servicio.cojerCategoria(); entonces nada funciona, la aplicación entera se bloquea y no recoje datos pero si lo declaro como servicio.cojerCategoria(idf); entonces funciona todo pero no consigo pasar los datos del combo al datagrid
Por otro lado, no sé si tendría que llamar al servicio desde dentro de la función (cojerFamilia) o dentro de la función que recoje los datos del combo "cojerCategoria" .
Código :
capturaRespuesta.cojerFamilia_Result = function(data) {
var proveedor2:Array = new Array();
if (data) {
//si la consulta fue correcta
if (data.getLength()) {
//si tenemos al menos un registro
for (i=0; i<data.getLength(); i++) {
//empezamos a codificar nuestro datos
proveedor2.addItem({label:unescape(data.getItemAt(i).Familia), data:data.getItemAt(i).idf});
}
servicio.cojerCategoria(idf);
combo.dataProvider = proveedor2;
//llenamos nuestro comboBox
estadotxt.text = "Consulta completada";
} else {
// sino, no tenemos registro deshabilitamos los botones de eliminar y modificar
btnModificar.enabled = btnEliminar.enabled=false;
estadotxt.text = "No hay registro que mostrar";
}
} else {
estadotxt.text = "Ocurrio un error en la consulta";
}
};
Código :
capturaRespuesta.cojerCategoria_Result = function(data) {
var proveedor3:Array = new Array();
btnInsertar.enabled = true;
if (data) {
//si la consulta fue correcta
if (data.getLength()) {
//si tenemos al menos un registro
for (i=0; i<data.getLength(); i++) {
//empezamos a codificar nuestro datos
proveedor3.addItem({id:data.getItemAt(i).id, Familia:unescape(data.getItemAt(i).Familia), Colore:unescape(data.getItemAt(i).Colore), Precio:unescape(data.getItemAt(i).Precio), Imagenpeq:unescape(data.getItemAt(i).Imagenpeq), Imagengra:unescape(data.getItemAt(i).Imagengra), Referencia:unescape(data.getItemAt(i).Referencia)});
}
datagrid.dataProvider = proveedor3;
datagrid.getColumnAt(0).width = 50;
datagrid.getColumnAt(1).width = 100;
datagrid.getColumnAt(2).width = 100;
datagrid.getColumnAt(3).width = 100;
datagrid.getColumnAt(4).width = 100;
datagrid.getColumnAt(5).width = 100;
datagrid.getColumnAt(6).width = 100;
datagrid.selectedIndex = 0;
} else {
// sino, no tenemos registro deshabilitamos los botones de eliminar y modificar
btnModificar.enabled = btnEliminar.enabled=false;
estadotxt.text = "No hay registro que mostrar";
}
} else {
estadotxt.text = "Ocurrio un error en la consulta";
}
};
De cualquier manera no me funciona y eso me hace pensar que quizás mi error esta en la clase de php, en algún sitio dentro de este código:
Código :
<?php
class alpelorocks{
function alpelorocks (){
$this->methodTable = array(
"cojerCategoria" => array (
"description" => "selecciona por categoria",
"access" => "remote",
"arguments" => array("idf")
),
"query" => array (
"description" => "ejecuta un query en MySQL",
"access" => "private",
"arguments" => array ("sql","accion")
)
);
}
function cojerCategoria ($idf){
$sql= "SELECT FROM Products WHERE Familia='".$idf."' LIMIT 1";
return $this->query($sql,0);
}
function query ($sql, $accion){
$conex= mysql_connect("localhost","user","passw") or die("no se puede conectar porque ".mysql_error());
mysql_select_db("mydb");
$result= mysql_query($sql,$conex);
if ($accion && result){
$result= mysql_insert_id();
}
mysql_close($conex);
return $result;
}
}
?>
Todo este código me esta volviendo loco, cualquier idea o sugerencia se agradece infinito...
salu2