Estoy utilizando Flash, XML y PHP en un sistema, el cual para eliminar unos registros ocupo los componentes de Flash que son DataSet y DataGrid, realmente voy aprendiendo gracias a todos ustedes pero el problema se basa cuando mezclo el CheckCellRenderer y el DataSet, porque??? Pues miren lo que quiero es filtrar en el DataGrid el contenido que obtengo de un XML y lo hace perfectamente, pero cuando agrego una columna y pongo el CheckCellRenderer para saber que registros eliminar, me agrega el CheckBox pero cuando quiero activar o desactivar no lo hace, simplemente pareciera que cuando solo pasa el mouse se activa y siempre es verdadero aunque se desactive solo unos segundos....
Espero su respuesta y de antemano su agradecimiento ya que en este foro he encontrado mucha ayuda y es la primera vez que agrego algo en este foro, les agrego el codigo para que pueda ser de mas ayuda:
Codigo:
import mx.controls.gridclasses.DataGridColumn;
//CARGA UN ARCHIVO PHP, LA CUAL GENERA UN XML LLAMADO DATAGRID.XML
form_cxml = new LoadVars();
form_cxml.load("http://localhost/emprenet/create_xml.php");
datos_xml = new XML();
datos_xml.ignoreWhite = true;
datos_xml.onLoad = function (success){
if (success){
largo = datos_xml.firstChild.childNodes.length;
empresas = new Array(largo);
rfc = new Array(largo);
id = new Array(largo);
sector = new Array(largo);
municipio = new Array(largo);
fecha = new Array(largo);
for (i=0; i<largo; i++){
empresas[i] = datos_xml.firstChild.childNodes[i].attributes.empresa;
rfc[i] = datos_xml.firstChild.childNodes[i].attributes.rfc;
sector[i] = datos_xml.firstChild.childNodes[i].attributes.sector;
municipio[i] = datos_xml.firstChild.childNodes[i].attributes.municipio;
id[i] = datos_xml.firstChild.childNodes[i].attributes.id;
fecha[i] = datos_xml.firstChild.childNodes[i].attributes.fecha;
}
//LLENA EL DATAGRID
llenarDataGrid();
}
else{
trace("No se pudo cargar el XML");
}
}
datos_xml.load("http://localhost/emprenet/DataGrid.xml");
//FUNCTION PARA LLENAR EL GRID
function llenarDataGrid(){
attachMovie("DataGrid", "misCeldas", 1);
//Propiedades
this.misCeldas._y=-40;
this.misCeldas._x=-350;
this.misCeldas.setSize(670, 150);
this.misCeldas.editable = false;
this.misCeldas.headerHeight = 16;
this.misCeldas.resizableColumns = false;
this.misCeldas.selectable = false;
this.misCeldas.showHeaders = true;
this.misCeldas.sortableColumns = false;
this.misCeldas.hScrollPolicy = "on";
this.misCeldas.vScrollPolicy = "on";
this.misCeldas.multipleSelection=false;
//Le asignamos un proveedor de datos
losDatos = new Array();
for (i=0; i<empresas.length; i++){
this.losDatos.push({ Seleccione: "", Empresas: empresas[i], RFC: rfc[i], Municipio: municipio[i], Sector: sector[i], Fecha: fecha[i],I: id[i] });
}
//Propiedades de las columnas
//AQUI DETECTE EL PROBLEMA CUANDO PONGO LAS SIGUIENTES DOS LINEAS ME HACE EL GRID CON EL CHECKBOX PERO SE QUEDA ACTIVADO SIEMPRE EN TRUE CUANDO SOLO PASO EL MOUSE ENCIMA DEL GRID, ASIGNO EL ARREGLO AL DATASET DIRECTAMENTE PARA QUE ME HAGA EL FILTRO...
this.datos.items = losDatos;
this.misCeldas.dataProvider = this.datos.dataProvider;
//PERO SI PONGO ESTA LINEA LLAMANDO SOLO EL ARRAY AL GRID DIRECTAMENTE SI EJECUTA BIEN LOS CHECKBOXES PERO EL PROBLEMA ES QUE COMO NO GUARDO NADA EN EL DATASET NO SE PUEDE FILTRAR
this.misCeldas.dataProvider = losDatos;
//CONFIGURAR COLUMNAS
this.misCeldas.getColumnAt(0).width = 50;
this.misCeldas.getColumnAt(0).cellRenderer="CheckCellRenderer";
this.misCeldas.getColumnAt(1).width =200;
this.misCeldas.getColumnAt(2).width = 200;
this.misCeldas.getColumnAt(3).width = 200;
this.misCeldas.getColumnAt(4).width = 200;
this.misCeldas.getColumnAt(5).width = 200;
this.misCeldas.getColumnAt(6).width = 0;
}
GRACIAS Y LES DEJO LA IMAGEN DE LA PATALLA