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

Llenar Gridview al escribir en un textbox

Estas en el tema de Llenar Gridview al escribir en un textbox en el foro de ASPX (.net) en Foros del Web. Hola buen día. Necesito de su ayuda para lo siguiente: En un formulario de consultas de alumnos, queremos mostrar los alumnos de acuerdo al nombre ...
  #1 (permalink)  
Antiguo 19/12/2012, 12:16
 
Fecha de Ingreso: mayo-2011
Mensajes: 13
Antigüedad: 13 años
Puntos: 0
Llenar Gridview al escribir en un textbox

Hola buen día.

Necesito de su ayuda para lo siguiente:

En un formulario de consultas de alumnos, queremos mostrar los alumnos de acuerdo al nombre que se escriba en un textbox.
Por ejemplo al escribir la letra M que en un gridview muestre automaticamente todos los alumnos que tengan en su nombre la letra "M".
Ya estoy intentando algo parecido pero solo funciona cuando le doy enter al textbox y lo que necesito es que muestre los datos al escribir cualquier letra, pero sin recargar la pagina.

De antemano gracias por su ayuda.
  #2 (permalink)  
Antiguo 19/12/2012, 13:10
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Respuesta: Llenar Gridview al escribir en un textbox

Puedes utilizar el TextChanged y todo lo puedes poner dentro de un UpdatePanel y que por cada letra que ponga en el textbox te vaya refrescando el UpdatePanel
  #3 (permalink)  
Antiguo 19/12/2012, 13:28
 
Fecha de Ingreso: mayo-2011
Mensajes: 13
Antigüedad: 13 años
Puntos: 0
Respuesta: Llenar Gridview al escribir en un textbox

Gracias DeivisAndres

Asi lo tengo con un UpdatePanel pero solo funciona cuando le doy enter al TextBox y lo que quiero es que lo haga mientras escribo una letra.
Aqui esta el codigo:

Código:
<div id="Panel1">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            Buscar:&nbsp;&nbsp;  <asp:TextBox ID="txtSearch" runat="server" 
            AutoPostBack="True" OnTextChanged="txtSearch_TextChanged"></asp:TextBox>
       <br />
        <br />
            <asp:GridView ID="Grilla1" runat="server">
        </asp:GridView>
        </ContentTemplate>
        <Triggers>  
        <asp:AsyncPostBackTrigger ControlID="txtSearch" EventName="TextChanged" />  
        </Triggers>

        </asp:UpdatePanel>
        <br />
        <br />
    </div>
  #4 (permalink)  
Antiguo 19/12/2012, 14:01
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Respuesta: Llenar Gridview al escribir en un textbox

Pero puedes realizar en el evento TextChanged que te refresque el panel cada vez que escriban, pero a una así probaste con el <asp:PostBackTrigger ControlID="txtSearch" /> ?
  #5 (permalink)  
Antiguo 21/12/2012, 13:36
 
Fecha de Ingreso: mayo-2011
Mensajes: 13
Antigüedad: 13 años
Puntos: 0
Respuesta: Llenar Gridview al escribir en un textbox

Hola DeivisAndres

No he podido solucionar el problema, de hecho no entra al evento TextChanged hasta que doy enter y lo que quiero hacer es que entre al evento TextChanged al presionar cualquier letra.

Saludos
  #6 (permalink)  
Antiguo 21/12/2012, 16:21
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Respuesta: Llenar Gridview al escribir en un textbox

Lo que intentas realizar ya lo he probado con un auto completar pero bien y analizando creo que en paginas web debe poderse. Y veo que tu tienes el AutoPostBack="True". Pero también intentaste que al escribir te refresque la pagina pero con un Response.Redirect("pagina.aspx"); y ya que tienes un UpdatePanel no debe refrescarte toda la pagina si no una parte de esta.

Etiquetas: gridview, textbox
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 04:47.