Comunidad de diseño web y desarrollo en internet online

se puede generar TextField dinamicamente?

Citar            
MensajeEscrito el 23 May 2005 01:59 am
mi objetivo es, meter en un bucle 'for' las sentencias createTextField de este modo:

for(condiciones){

_root.createTextField("nombre_text",...parametros...);

}

el problema surje cuando kiero referirme a las etiquetas para ofrecerles texto, es decir, si yo tengo en un array los strings ke le paso a 'create' para darles el nombre, como puedo hacerles referencia, he intentado esto:

datos[0].text= "kiero mostrar este texto";

el problema es k datos[0] es un String y no me funciona. He provado a hacer un cast:

datos[0]:TextField.text = "kiero mostrar...";

pero tampoco, ¿como puedo solucionar esto? en caso de ke se pueda hacer...

Por guiva

5 de clabLevel



 

msie
Citar            
MensajeEscrito el 23 May 2005 08:12 am
La verdad, no tengo ni idea de lo que quieres hacer.

Estás asignando a un array una propiedad "text" que es de una TextBox, ¿que es lo que quieres hacer realmente?

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

clabbrowser
Citar            
MensajeEscrito el 23 May 2005 09:33 am
A ver, yo con flash remoting guardo en un array 'data' los valores de X Strings. Quiero ke cada uno de esos Strings forme un createTextField de esta forma:

_root.createTextField(data[0],...paramtros...);
_root.createTextField(data[1],...paramtros...);
·
·
_root.createTextField(data[X],...paramtros...);

el problema resulta k cuando kiero asignarles un texto a cada TexField no puedo hacerlo, no se como hacerles referencia. Por ej, yo se ke en data[0], contiene el String "nombre"; entonces si escribo:

nombre.text="prueba";

entonces si que aparece el texto; pero si el valor de data[0] cambia, es decir cambia el string ke contiene, ya no se como puedo hacerle referencia.

he intentado:

data[0].text="prueba";

y

data[0]:TextField.text = "prueba";


pero no consigo nada con ninguna de las 2.

Espero haberme explicado un poquito mejor, si no lo reintento ^^

Un saludo.

Por guiva

5 de clabLevel



 

msie
Citar            
MensajeEscrito el 23 May 2005 01:22 pm
proba esto:

dato=new Array();
dato=["nombre1","nombre2"];
_root.createTextField(dato[0],1,20,20,200,30);
this[dato[0]].text="prueba";

Por La_Gata

123 de clabLevel



 

msie
Citar            
MensajeEscrito el 25 May 2005 11:07 pm
var datos:Array = new Array();// tabla con tus datos
var posX:Number = 25;//posocionar cada texto e y
var m_z:Number = _root.getNextHighestDepth();//nuevo depth para cada texto
//el resto creo que lo entenderas !!! buena suerte

datos = ["srt 1", "str 2", "str 3", "str 4", "str 5", "str 6", "str 7"];
for (var i = 0; i<datos.length; ++i) {
var myNewTextField:TextField;
_root.createTextField("myNewTextField"+i, m_z++, 10, posX*i, 100, 20);
myNewTextField = _root["myNewTextField"+i];
setTextfield(myNewTextField, datos[i]);
}
function setTextfield(txt:TextField, str:String) {
trace("el textfield :"+txt+" el string : '"+str+"'");
//var txt:TextField;
txt.text = str;
txt.autoSize = "left";
txt.border = true;
txt.background = true;
txt.backgroundColor = 0x898989;
}
// si esto no te sirve no dudes en escribirme a [email protected]

Por geronimo

65 de clabLevel



Genero:Masculino  

mozilla
Citar            
MensajeEscrito el 10 Mar 2009 11:02 pm
No se si ya resolviste tu problema de generar textos dinamicamente, aun asi aqui te va la solución:


ex=5;
ye=5;
for(i=1;i<4;i++)
{

ye=ye+12;

var b = this.createTextField("a"+i, i+1, ex, ye, 80,80);
b.text="inputtext"+i;
trace(b.text);
var my_fmt:TextFormat = new TextFormat();
my_fmt.color=0xFF0000;
b.setTextFormat(my_fmt);

}

espero que te sirva.

Por opulido

0 de clabLevel



 

msie7

 

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