Foros del Web » Programando para Internet » ASPX (.net) »

gridview acciones asp.net C#

Estas en el tema de gridview acciones asp.net C# en el foro de ASPX (.net) en Foros del Web. hola a todos, ojala me puedan ayudar a: 1.- donde el estado sea blanco rellenar con la palabra bueno 2.- remover filas donde estado sea ...
  #1 (permalink)  
Antiguo 10/03/2012, 11:57
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
gridview acciones asp.net C#

hola a todos, ojala me puedan ayudar a:

1.- donde el estado sea blanco rellenar con la palabra bueno
2.- remover filas donde estado sea blanco

Este es el gridview :

Id producto precio oferta estado
1 pendrive 2000 si
2 mouse 3000 no malo
3 teclado 4000 si

Código vb:
Ver original
  1. protected void boton_Click(object sender, EventArgs e)
  2.     {
  3.         cambio = "bueno";
  4.        
  5.        
  6.         foreach (GridViewRow row in GridView1.Rows)
  7.         {
  8.  
  9.            string lee = row.Cells[4].Text;
  10.          
  11.            if (lee == "malo")
  12.             {                  
  13.                row.Cells[4].Text = cambio;
  14.                    
  15.                
  16.  
  17.             }
  18.  
  19.            
  20.         }
  21.  
  22.        
  23.     }

al recorrer las filas le digo que si el estado es malo que cambie a "bueno".


Id producto precio oferta estado
1 pendrive 2000 si
2 mouse 3000 no bueno
3 teclado 4000 si


pero ahora quiero que si el estado es vacio que cambie a bueno o otra palabra
-he intentado :
lee == " "
lee == null
lee.Length = 0

pero ninguno resulta.

--y tambien quisiera hacer :

remover una fila si el estado es vacio
remover visulamente, no de la base de datos.

ojala me puedan ayudar.
  #2 (permalink)  
Antiguo 12/03/2012, 13:17
Avatar de mackbeth  
Fecha de Ingreso: noviembre-2005
Mensajes: 370
Antigüedad: 19 años
Puntos: 10
Respuesta: gridview acciones asp.net C#

estas buscando en tu texto un "espacio" con tu sentencia : lee == " " intenta:
lee == "";
o mejor:
lee == string.empty;
para remover la fila, deberás hacerlo desde tu consulta, o bien, desde la misma, cambiar los valores vacios a "bueno"

ojalá que te sirva esta información
__________________
«~MaGax3iNeMD~»
  #3 (permalink)  
Antiguo 12/03/2012, 14:04
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
Respuesta: gridview acciones asp.net C#

mackbeth

ya intente con string empy y tampoco no funciona


y necesito remover una fila visualmente del gridview

osea que cargue el gridview y luego el foreach recorra las filas y elimine o remueva
las filas donde estado este vacio
  #4 (permalink)  
Antiguo 12/03/2012, 17:01
Avatar de mackbeth  
Fecha de Ingreso: noviembre-2005
Mensajes: 370
Antigüedad: 19 años
Puntos: 10
Respuesta: gridview acciones asp.net C#

Disculpa, por no haberte dado información concreta, ya vi el detalle, tu estas leyendo la propiedad text de cada celda en tu gridview, y como tal al hacer el binding al source, éste manda el texto en labels por lo que deberas hacer un FindControl :

Label etiqueta = (Label)row.Cells[4].FindControl("Label1");
if(etiqueta.Text == string.empty){....}


Ten en cuenta que estoy usando el nombre genérico "Label1" para que sepas el nombre exacto, deberas consultarlo en tiempo de diseño, en la edición de los templates del GridView.
Como estás apuntando una declaración a una instancia, entonces podrás cambiar el contenido de ese label:

etiqueta.Text = "Bueno";

Ésto hará que se vea en tu GridViewel nuevo valor.

Lo que respecta a que no se vean los campos vacíos, nuevamente te recomiendo que lo hagas desde tu consulta, (Creeme, te ahorrarás mucho con ello ;] ) sólo debes agregar al final de tu consulta:

"and estado <>'' "

Ésto sólo te mostrará los registros que cumplan esa condición pero seguirán estando en tu BD.

Ojalá que te sirva!
__________________
«~MaGax3iNeMD~»
  #5 (permalink)  
Antiguo 12/03/2012, 17:42
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
Respuesta: gridview acciones asp.net C#



me aparece ese error??????????
????????????????????




Pd: saben donde puedo subir imagenes para despues postearlas aqqui
  #6 (permalink)  
Antiguo 14/03/2012, 09:44
Avatar de mackbeth  
Fecha de Ingreso: noviembre-2005
Mensajes: 370
Antigüedad: 19 años
Puntos: 10
Respuesta: gridview acciones asp.net C#

Creo que no me expliqué bien, tu estas buscando por el nombre del encabezado, el cual es "estado" pero dudo que tu Label se llame igual, olvida el nombre e intenta con el índice:

Label etiqueta = (Label)fila.Cells[4].Controls[0];

Te dejo mi correo por si deseas enviarme tu proyecto para poder echarle un ojo ;)

[email protected]
__________________
«~MaGax3iNeMD~»
  #7 (permalink)  
Antiguo 14/03/2012, 17:18
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
Respuesta: gridview acciones asp.net C#

mackbeth amigo te lo envie a tu correo, grcias
  #8 (permalink)  
Antiguo 14/03/2012, 17:38
Avatar de mackbeth  
Fecha de Ingreso: noviembre-2005
Mensajes: 370
Antigüedad: 19 años
Puntos: 10
Respuesta: gridview acciones asp.net C#

Gracias! ya lo corregí el problema radicaba en que al configurar tu datasource hacia el bind directamente sobre la celda, (lo cual hacía que no encontraras las etiquetas) y la propiedad text cuando está vacía en HTML te pone la entidad "&nbsp;" por lo que únicamente la agregúe a la condición y listo ;) anexo el código por este medio si a alguien mas le sirve, y el proyecto te lo regreso por correo.

Saludos!!!
Código:
                string lee = row.Cells[4].Text;
                if (lee == "&nbsp;")
                {
                    row.Visible = false;

                }
__________________
«~MaGax3iNeMD~»
  #9 (permalink)  
Antiguo 14/03/2012, 17:45
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
Respuesta: gridview acciones asp.net C#

vale! gracias ojala le sirva a otras personas
  #10 (permalink)  
Antiguo 13/05/2013, 13:59
 
Fecha de Ingreso: abril-2013
Mensajes: 2
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: gridview acciones asp.net C#

Tambien te hubiera servido lo siguiente:


string lee = row.Cells[4].Text;
if (lee == "")
{
row.Visible = false;

}

o

string lee = row.Cells[4].Text;
if (string.IsNullOrEmpty(lee))
{
row.Visible = false;

}

Etiquetas: acciones, gridview
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:06.