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

Filtrar datos de gridview con tres textbox

Estas en el tema de Filtrar datos de gridview con tres textbox en el foro de ASPX (.net) en Foros del Web. Buenas estoy tratando de hacer una consulta o busqueda y que los datos me los muestre en un gridview. Intento teniendo solo un textbox y ...
  #1 (permalink)  
Antiguo 25/05/2012, 19:15
 
Fecha de Ingreso: marzo-2009
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 1
Pregunta Filtrar datos de gridview con tres textbox

Buenas
estoy tratando de hacer una consulta o busqueda y que los datos me los muestre en un gridview. Intento teniendo solo un textbox y me hace la consulta, pero cuando agrego uno o dos textbox mas no logro hacer la busqueda.
lo que necesito es que muestre los datos en el gridview dependiendo de lo que ingrese en los textbox. (textbox dni, apellido, nombre) es decir si pongo un dni me muestre los datos o si pongo un apellido me muestre las personas con ese apellido
¿puedo filtrar un gridview con varios textbox?
espero ayuda
gracias.-
  #2 (permalink)  
Antiguo 07/06/2012, 16:08
Avatar de GORI0056  
Fecha de Ingreso: julio-2009
Mensajes: 38
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Filtrar datos de gridview con tres textbox

Cita:
Iniciado por leonobarg Ver Mensaje
Buenas
estoy tratando de hacer una consulta o busqueda y que los datos me los muestre en un gridview. Intento teniendo solo un textbox y me hace la consulta, pero cuando agrego uno o dos textbox mas no logro hacer la busqueda.
lo que necesito es que muestre los datos en el gridview dependiendo de lo que ingrese en los textbox. (textbox dni, apellido, nombre) es decir si pongo un dni me muestre los datos o si pongo un apellido me muestre las personas con ese apellido
¿puedo filtrar un gridview con varios textbox?
espero ayuda
gracias.-
Hola,

El siguiente codigo debe de estar contenido dentro del SqlDataSource de donde tomas los datos para mostrar el gridview

SelectCommand="SELECT [nombre], [dni], [apellido] FROM ["Nombre de la Tabla"] WHERE (([nombre] LIKE '%' + @nombre + '%') AND ([dni] LIKE '%' + @dni + '%') AND ([apellido] LIKE '%' + @apellido + '%'))"

<SelectParameters>
<asp:ControlParameter ControlID="apellidoTextBox" DefaultValue="%"
Name="apellido" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="dniTextBox" DefaultValue="%"
Name="dni" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="nombreTextBox" DefaultValue="%"
Name="nombre" PropertyName="Text" Type="String" />
</SelectParameters>


Saludos,
  #3 (permalink)  
Antiguo 07/06/2012, 22:56
 
Fecha de Ingreso: marzo-2009
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Filtrar datos de gridview con tres textbox

gracias gori por tu ayuda
todo funciona bien, pero como puedo hacer para que me muestre el dni exacto (ej. escribo 123 y me muestre la persona con ese numero de dni y no todas las que tengan ese numero)
despues los demas estan bien
  #4 (permalink)  
Antiguo 08/06/2012, 02:09
 
Fecha de Ingreso: febrero-2012
Mensajes: 10
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Filtrar datos de gridview con tres textbox

Pues quitale el LIKE en el valor del DNI y pon un =
  #5 (permalink)  
Antiguo 08/06/2012, 21:42
 
Fecha de Ingreso: marzo-2009
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Filtrar datos de gridview con tres textbox

gracias
probe cambiando like por el igual pero no me muestra nada, solo hice ese cambio. Dejo el codigo, aclaro que el dni es un integer y nombre y apellido varchar.
ESPERO AYUDA

Código:
SelectCommand="SELECT [nombre], [dni], [apellido] FROM [paciente] WHERE (([nombre] LIKE '%' + @nombre + '%') AND ([dni] = @dni) AND ([apellido] LIKE '%' + @apellido + '%'))" >

<SelectParameters>
<asp:ControlParameter ControlID="nombreTextBox" DefaultValue="" 
Name="nombre" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="dniTextBox" DefaultValue="" 
Name="dni" PropertyName="Text" Type="Int32" />
<asp:ControlParameter ControlID="apellidoTextBox" DefaultValue="" 
Name="apellido" PropertyName="Text" Type="String" />
</SelectParameters>
NUEVAMENTE GRACIAS.-
  #6 (permalink)  
Antiguo 10/07/2012, 16:56
Avatar de GORI0056  
Fecha de Ingreso: julio-2009
Mensajes: 38
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Filtrar datos de gridview con tres textbox

Perdona por tardar tanto en responder, prueba con lo siguiente:

SelectCommand="SELECT [nombre], [dni], [apellido] FROM ["Nombre de la Tabla"] WHERE (([nombre] LIKE '%' + @nombre + '%') OR ([dni] LIKE '%' + @dni + '%') OR ([apellido] LIKE '%' + @apellido + '%'))"

<SelectParameters>
<asp:ControlParameter ControlID="apellidoTextBox" DefaultValue="%"
Name="apellido" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="dniTextBox" DefaultValue="%"
Name="dni" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="nombreTextBox" DefaultValue="%"
Name="nombre" PropertyName="Text" Type="String" />
</SelectParameters>

Como veras en el Where me cambiado AND por OR , con AND se ha de cumplir las
tres condiciones para mostrar datos, mientras que con OR puede mostrar datos
por cualquiera de los tres campos. Ademas no deberias de dejar en ControlParameter el valor DefaultValue vacio.

Saludos,


Cita:
Iniciado por leonobarg Ver Mensaje
gracias
probe cambiando like por el igual pero no me muestra nada, solo hice ese cambio. Dejo el codigo, aclaro que el dni es un integer y nombre y apellido varchar.
ESPERO AYUDA

Código:
SelectCommand="SELECT [nombre], [dni], [apellido] FROM [paciente] WHERE (([nombre] LIKE '%' + @nombre + '%') AND ([dni] = @dni) AND ([apellido] LIKE '%' + @apellido + '%'))" >

<SelectParameters>
<asp:ControlParameter ControlID="nombreTextBox" DefaultValue="" 
Name="nombre" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="dniTextBox" DefaultValue="" 
Name="dni" PropertyName="Text" Type="Int32" />
<asp:ControlParameter ControlID="apellidoTextBox" DefaultValue="" 
Name="apellido" PropertyName="Text" Type="String" />
</SelectParameters>
NUEVAMENTE GRACIAS.-

Etiquetas: filtrar, gridview, textbox, tres
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:40.