He estado mirando tu código, siento haber tardado tanto, el puente a sido largo :)
El problema, creo, ya que no he podido hacerlo funcionar, esta en que debes dejar que pase un fotograma entre que instancias el Datagrid y lo alimentas de datos, como dije en mi primer mail. Tu haces la llamada a llenarDataGrid() y cargarDatos() seguidamente y cuando intentas alimentar el gris, este todavía no se ha inicializado. Prueba a cambiar la linea: cargarDatos() por misCeldas.doLater(this,"cargarDatos"); a ver si así funciona bien. Un saludo Joseba Alonso www.5dms.com www.sidedev.net > -----Mensaje original----- > De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En > nombre de Roberto López 7dd > Enviado el: viernes, 29 de abril de 2005 16:42 > Para: asnativos@5dms.com > Asunto: RE: [ASNativos] DataGrid Tardón > > Pues aquí esta www.7dd.net/otromundo/datgridotromundo.fla > Un saludo > > -----Mensaje original----- > De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En > nombre de Roberto López 7dd > Enviado el: viernes, 29 de abril de 2005 10:20 > Para: asnativos@5dms.com > Asunto: RE: [ASNativos] DataGrid Tardón > > > Pues nada le he llevado unos fotogramas mas adelante pero me sigue > pasando lo mismo, en la direccion que di anteriormente he subido este > archivo actualizado http://www.7dd.net/otromundo se nota que tarda un > poco mas pero pasa lo mismo no se si quereis subo el .fla > > -----Mensaje original----- > De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En > nombre de Joseba Alonso Enviado el: martes, 26 de abril de 2005 16:42 > Para: asnativos@5dms.com > Asunto: RE: [ASNativos] DataGrid Tardón > > > Prueba a tardar un par de fotogramas más entre el final de la precarga y > la configuración y alimentación del datagrid. La llamada a > llenarDatagrid vamos. A ver si asi... > > Joseba Alonso > www.5dms.com > www.sidedev.net > > > -----Mensaje original----- > > De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En > > nombre de Joseba Alonso Enviado el: martes, 26 de abril de 2005 16:00 > > Para: asnativos@5dms.com > > Asunto: RE: [ASNativos] DataGrid Tardón > > > > Creo que puede ser un problema de timing. Es decir, el datagrid > > todavía no se ha cargado e inicializado antes de que lo intentes > > enchufar a los datos. > > > > Como realizas la precarga? Con getBytesLoaded o con el > > MovieClipLoader? > > > > Joseba Alonso > > www.5dms.com > > www.sidedev.net > > > -----Mensaje original----- > > > De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > > En nombre de Roberto López 7dd Enviado el: martes, 26 de abril de > > > 2005 14:24 > > > Para: asnativos@5dms.com > > > Asunto: RE: [ASNativos] DataGrid Tardón > > > > > > Vale aquí hay dos funciones una dibujo el datagrid llama a > > > cargarDatos() que asigna los valores de los Arrays a las columnas > > > del DataGrid, antes he parseado el xml llenando los Arrays: > > > > > > function llenarDataGrid() { > > > trace("llenarDataGrid: ejecutada"); > > > //Atacheamos nuetro componente > > > //attachMovie("DataGrid", "misCeldas", 50); > > > > > > //createClassObject > > > > > > createClassObject(mx.controls.DataGrid,"misCeldas",getNextHighestDep > > > th() > > > ); > > > //Estilos > > > //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]}); > > > } > > > } > > > > > > > > > Muchas gracias. > > > > > > -----Mensaje original----- > > > De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > > En nombre de Joseba Alonso Enviado el: martes, 26 de abril de 2005 > > > 13:10 > > > Para: asnativos@5dms.com > > > Asunto: RE: [ASNativos] DataGrid Tardón > > > > > > > > > Estaría bien que limpiases un poco el codigo, quitar las partes que > > > no afecten al comportamiento que mencionas. Eso ayudará a que puedas > > > > localizar el problema y además que nosotros podamos leerlo. No creo > > > que nadie te pueda ayudar porque simplemente descifrar el codigo > > > llevaría demasiado tiempo. > > > > > > Intenta aislar un poco más el problema y mandalo para que podamos > > > ayudarte. > > > > > > Un saludo, > > > > > > Joseba Alonso > > > www.5dms.com > > > www.sidedev.net > > > > > > > -----Mensaje original----- > > > > De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > > > > En nombre de Roberto López 7dd Enviado el: martes, 26 de abril de > > > > 2005 13:25 > > > > Para: asnativos@5dms.com > > > > Asunto: [ASNativos] DataGrid Tardón > > > > > > > > Tengo un DataGrid con un cellrenderer creado con la clase de > > > > JoanGarnet, el problema es que carga la información de un xml que > > > > le digo cual es mediante un menú. Pues la primera vez que le pulso > > > > > el datagrid se forma mal, si vuelvo a pulsar ya se forma bien. La > > > > dirección para verlo es http://www.7dd.net/otromundo El 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",getNextHighestDep > > > th() > > > > ); > > > > //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/inmo > > > bili > > > > aria/"+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); > > > > }; > > > > } > > > > Muchas gracias a todos por adelantado. > > > > Roberto López. > > > > http://www.7dd.net > > > > > > > > > > > > ---------------------------------- > > > > Lista ASNativos:asnativos@5dms.com http://www.5dms.com/listas > > > > ---------------------------------- > > > > > > ---------------------------------- > > > Lista ASNativos:asnativos@5dms.com http://www.5dms.com/listas > > > ---------------------------------- > > > > > > > > > > > > ---------------------------------- > > > Lista ASNativos:asnativos@5dms.com http://www.5dms.com/listas > > > ---------------------------------- > > > > ---------------------------------- > > Lista ASNativos:asnativos@5dms.com > > http://www.5dms.com/listas > > ---------------------------------- > > ---------------------------------- > Lista ASNativos:asnativos@5dms.com > http://www.5dms.com/listas > ---------------------------------- > > > ---------------------------------- > Lista ASNativos:asnativos@5dms.com > http://www.5dms.com/listas > ---------------------------------- > > > ---------------------------------- > Lista ASNativos:asnativos@5dms.com > http://www.5dms.com/listas > ---------------------------------- ---------------------------------- Lista ASNativos:asnativos@5dms.com http://www.5dms.com/listas ----------------------------------