Pues no se aqui es dejo el codigo actual completo, el cellRenderer esta echo con la clase loadercellrenderer de Joan-Garnet, haber si alguien ve el fallo:
Código :
import mx.controls.gridclasses.DataGridColumn;
descripcion._visible = false;
var cargamos : String;
cargamos = _parent.cargaxml;
//cargamos = "djembex.xml";
trace ("cargamos " + cargamos);
Stage.scaleMode = "noScale";
//Cargamos el XML
System.useCodepage = true;
calendario = new XML();
calendario.ignoreWhite = true;
calendario.onLoad = function(success) {
if (success) {
//Creamos los arrays donde iran los datos
largo = calendario.firstChild.childNodes.length;
trace("largo = "+largo);
_global.indice = new Array(largo);
_global.referencia = new Array(largo);
_global.titulo = new Array(largo);
_global.procedencia = new Array(largo);
_global.thumb = new Array(largo);
_global.imagen = new Array(largo);
_global.imagen1 = new Array(largo);
_global.contenido = new Array(largo);
_global.parche = new Array(largo);
_global.funda = new Array(largo);
_global.cuerpo = new Array(largo);
_global.tamano = new Array(largo);
_global.peso = new Array(largo);
_global.precio = new Array(largo);
_global.sonido = new Array(largo);
var donde:String = calendario.firstChild.childNodes[0].attributes.procedencia;
donde_txt.text = donde;
//Llenar los arrays
for (i=0; i<largo; i++) {
//hay dos indices porque uno es para mostrar y el otro para el array
indice[i] = i+1;
referencia[i] = calendario.firstChild.childNodes[i].attributes.referencia;
titulo[i] = calendario.firstChild.childNodes[i].attributes.titulo;
procedencia[i] = calendario.firstChild.childNodes[i].attributes.procedencia;
thumb[i] = calendario.firstChild.childNodes[i].attributes.thumb;
imagen[i] = calendario.firstChild.childNodes[i].attributes.imagen;
imagen1[i] = calendario.firstChild.childNodes[i].attributes.imagen1;
contenido[i] = calendario.firstChild.childNodes[i].attributes.contenido;
parche[i] = calendario.firstChild.childNodes[i].attributes.parche;
funda[i] = calendario.firstChild.childNodes[i].attributes.funda;
cuerpo[i] = calendario.firstChild.childNodes[i].attributes.cuerpo;
tamano[i] = calendario.firstChild.childNodes[i].attributes.tamano;
peso[i] = calendario.firstChild.childNodes[i].attributes.peso;
precio[i] = calendario.firstChild.childNodes[i].attributes.precio;
sonido[i] = calendario.firstChild.childNodes[i].attributes.sonido;
}
llenarDataGrid();
//evento al pulsar en un registro
var clicar = new Object();
clicar.change = function(evento){
// introducir aquí el código propio
var controles:Number = evento.target.selectedItem["Indice"];
_global.control = controles-1;
trace(" control = "+control+" Indice = "+indice[0]+" controles = "+controles);
trace("pulsado "+ control);
misCeldas._visible = false;
llenarDescripcion();
}
misCeldas.addEventListener("change", clicar);
} else {
donde_txt.text = "Ha ocurrido un error.";
trace("No se pudo cargar el XML");
}
};
calendario.load(cargamos);
/************* FUNCIONES ****************/
function llenarDataGrid() {
trace("llenarDataGrid: ejecutada");
//Atacheamos nuetro componente
//attachMovie("DataGrid", "misCeldas", 50);
//createClassObject
createClassObject(mx.controls.DataGrid,"misCeldas",getNextHighestDepth());
//Estilos
misCeldas.setStyle("color", "0x000000");
misCeldas.setStyle("background", "0xffE4E1");
misCeldas.setStyle("arrow", "0xFF0000");
misCeldas.setStyle("highlight", "0xffffff");
misCeldas.setStyle("darkshadow", "0xffffff");
misCeldas.setStyle("face", "0x33FFFF");
misCeldas.setStyle("scrollTrackColor", "0x666666");
misCeldas.setStyle("themeColor","0x666666");
//misCeldas.setStyle("borderColor", "0xffffff");
misCeldas.setStyle("color", "0x000000");//color del texto
misCeldas.setStyle("disabledColor", "0xffffff");
misCeldas.setStyle("fontFamily", "verdana");
misCeldas.setStyle("fontSize", "10");
//misCeldas.setStyle("fontWeight", "bold");
misCeldas.setStyle("highlightColor", "0xffffff");
//misCeldas.setStyle("marginLeft", "15");
//misCeldas.setStyle("marginRight", "15");
//misCeldas.setStyle("textIndent", "5");
//Propiedades
misCeldas._x=72;
misCeldas._y=80;
misCeldas.setSize(510, 340);
misCeldas.editable = false;
misCeldas.headerHeight = 16;
misCeldas.resizableColumns = false;
misCeldas.selectable = true;
misCeldas.showHeaders = true;
misCeldas.sortableColumns = false;
cargarDatos();
//Propiedades de las columnas
misCeldas.rowHeight = 80;
misCeldas.getColumnAt(0).width = 30;
misCeldas.getColumnAt(1).width = 120;
misCeldas.getColumnAt(2).width = 260;
misCeldas.getColumnAt(3).width = 100;
//CellRenderer
misCeldas.getColumnAt(1).cellRenderer = "LoaderRenderer";
}
//funcion cargarDatos
function cargarDatos(){
//Le asignamos un proveedor de datos
losDatos = new Array();
misCeldas.dataProvider = losDatos;
//Metemos los datos en el ComboBox
for (i=0; i<titulo.length; i++) {
losDatos.addItem({Indice:indice[i], Thumb:thumb[i], Titulo:titulo[i], Procedencia:procedencia[i]});
}
clearInterval(cargar);//para asegurarnos de que no vuelva a suceder esto
}
//Funcion llenarDescripcion
function llenarDescripcion(){
descripcion._visible=true;
misCeldas._visible = false;
descripcion.swapDepths(51);;
system.useCodepage = true;
stop();
trace("control "+control);
descripcion.referencia_txt.text = referencia[control];
descripcion.titulo_txt.text = titulo[control];
descripcion.procedencia_txt.text = procedencia[control];
descripcion.baseimagen.loadMovie(imagen[control]);
descripcion.baseimagen1.loadMovie(imagen1[control]);
descripcion.contenido_txt.text = contenido[control];
descripcion.parche_txt.text = parche[control];
descripcion.funda_txt.text = funda[control];
descripcion.cuerpo_txt.text = cuerpo[control];
descripcion.tamano_txt.text = tamano[control]+" cm";
descripcion.peso_txt.text = peso[control]+" Kg";
descripcion.precio_txt.text = precio[control]+" Euros";
descripcion.sonido_btn.onRelease = function() {
getURL(sonido[control], _blank);
};
//_root.precarga(_root.baseini.base.baseimagen, imagen[control], _parent.barragale, _parent.textogale);
//_root.precarga(_root.baseini.base.baseimagen1, imagen1[control], _parent.barragale, _parent.textogale);
//baseimagen.loadMovie("http://www.dcmadridnorte.com/grupomedra/inmobiliaria/"+imagen[control]);
descripcion.atras_btn.onRelease = function() {
descripcion._visible = false;
misCeldas._visible = true;
};
descripcion.comprar_btn.onRelease=function(){
var ref:String;
ref = descripcion.referencia_txt.text;
trace("pulsado comprar_btn "+ref);
_global.compra.push(ref);
};
}
Gracias una vez mas a todos.