Foros del Web » Programación para mayores de 30 ;) » .NET »

Ayuda Con Recorrido De Cajas de Texto en GRIDVIEW

Estas en el tema de Ayuda Con Recorrido De Cajas de Texto en GRIDVIEW en el foro de .NET en Foros del Web. Muy buenas noches.. bueno queria pedirles ayuda en como poder recorrer las cajas de texto de una columna y comparar el valor de las cajas ...
  #1 (permalink)  
Antiguo 11/08/2009, 18:42
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 5 meses
Puntos: 1
Ayuda Con Recorrido De Cajas de Texto en GRIDVIEW

Muy buenas noches.. bueno queria pedirles ayuda en como poder recorrer las cajas de texto de una columna y comparar el valor de las cajas y dar una condicion ejemplo:
recorre la columna txtname.tex .. si el valor == 10 entons el color del texto CAMBIA A ROJO si es mayor que 10 entons el color es AZUL.. yo hise este codigo pero me cambia todo del color que asigne ultimo pero no compara si esta azul o rojo segun valor .
code que hise:

Cita:
for (int i = 0; i < GridView1.Rows.Count; i++)
{
string strName = ((TextBox)GridView1.Rows[i].FindControl("txtName")).Text;
int code;
code = int.Parse(strName);

if (code <= 10) { txtname.ForeColor = System.Drawing.Color.Red; }
else if (code > 11) { txtname.ForeColor = System.Drawing.Color.Blue; }
}
Si me pudieran ver si estoy fallando en ALGO.. por favor les agradeceria mucho .. :)

si tienes otra FORMA de poder HAcer esa ACCION de poder cambiar el color del TEXTO Segun Valor .. si es en JAVA seria mejor .. porfavor :)

Última edición por keygen20; 11/08/2009 a las 18:52
  #2 (permalink)  
Antiguo 11/08/2009, 18:57
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Respuesta: Ayuda Con Recorrido De Cajas de Texto en GRIDVIEW

Lamentablemente no se mucho de C# y realmente no se si tenga la respuesta a tu pregunta asi que la dejo para el final.

Mientras, te hago 2 oservaciones:
1.- En tu for te mueves hasta GridView.Rows.Count y debieras hacerlo hasta GridView.Rows.Count - 1

2.- No pasa nada si el código es 11 y me parece que quieres incluir el 11 para que sea azul.


Sobre tu pregunta:
¿Por que no intentas accediendo al textbox de ese row especifico? Por que me da la impresión de que de la forma en que lo estas haciendo estas modificando TODAS las instancias de txtName.
  #3 (permalink)  
Antiguo 11/08/2009, 19:19
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda Con Recorrido De Cajas de Texto en GRIDVIEW

Umm Hola Pedro_Cesr Gracias por Contestar .. bueno no entiendo hise lo que me seguriste y me sigue saliendo el error.. estuve buskando un script para ponerlo directamente a cada textbox cuando haga onKeyPress Pero nu encontre.. mira .. lo probe y lo ke me sale es esto al recorrer todo el grid
mira la imagen:

Aqui IMAGEN .. <--

Ahi observas deberia cambiar a color azul el numero 12 pero no lo hace .. auxilio porfavor :(

yo tambien estoy empezando a programar en C# .. por eso un poco .. complikado .. mas por la sintaxis.

Última edición por keygen20; 11/08/2009 a las 19:27
  #4 (permalink)  
Antiguo 11/08/2009, 19:58
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Respuesta: Ayuda Con Recorrido De Cajas de Texto en GRIDVIEW

De nuevo, como no se C# no se si esto funcionará... pero debería ser algo como:

Código:
for (int i = 0; i < GridView1.Rows.Count -1; i++)
{
string strName = ((TextBox)GridView1.Rows[i].FindControl("txtName")).Text;
int code;
code = int.Parse(strName);

if (code <= 10) { ((TextBox)GridView1.Rows[i].FindControl("txtName")).ForeColor = System.Drawing.Color.Red; }
else if (code > 10) { ((TextBox)GridView1.Rows[i].FindControl("txtName")).ForeColor = System.Drawing.Color.Blue; }
}
Y SI (y solo SI) eso funciona esto quizas te ayudaría un poco:

Código:
TextBox txtb;
int code;

for (int i = 0; i < GridView1.Rows.Count -1; i++)
{
txtb = ((TextBox)GridView1.Rows[i].FindControl("txtName"));
code = int.Parse(txtb.Text());

if (code <= 10) { (txtb.ForeColor = System.Drawing.Color.Red; }
else if (code > 10) { (txtb.ForeColor = System.Drawing.Color.Blue; }
}

Última edición por pedro_cesar; 11/08/2009 a las 20:06 Razón: Di ejemplos en VB en vez de C#
  #5 (permalink)  
Antiguo 11/08/2009, 20:38
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda Con Recorrido De Cajas de Texto en GRIDVIEW

Pero muchas gracias lo logre hacer.. si para alguien en algun futuro lo necesito aqui pongo el codigo.. que me funciono muchas gracias pedro.. en verdad :)

Cita:
for (int i = 0; i < GridView1.Rows.Count ; i++)
{
string strName = ((TextBox)GridView1.Rows[i].FindControl("txtName")).Text;
int code;
code = int.Parse(strName);

if (code <= 10)
{
((TextBox)GridView1.Rows[i].FindControl("txtName")).ForeColor = System.Drawing.Color.Red;
}
else if (code >= 11)
{
((TextBox)GridView1.Rows[i].FindControl("txtName")).ForeColor = System.Drawing.Color.Blue;
}
}
  #6 (permalink)  
Antiguo 12/08/2009, 04:57
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Respuesta: Ayuda Con Recorrido De Cajas de Texto en GRIDVIEW

Como última recomendación te digo que trates de no declarar variables dentro de ciclos como lo estás haciendo con "int code" ya que cada vez que se ejecuta el ciclo se crea una nueva instancia de la variable y esto hará que se invoque al recolector de basura mas frecuentemente, lo que es un "minus" en performance.

Me alegra haber sido de ayuda.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:15.