Estás en: Inicio >> Foros >> Informática >> Programación
Programación /

Datagrid flecha arriba y flecha abajo desplaza sobre la grilla

Participa en el tema Datagrid flecha arriba y flecha abajo desplaza sobre la grilla en el foro Programación.
Hola, queria saber si alguno conoce o hizo algun control que encapsule este comportamiento. Para ...

Buscar en este tema:
 
  •  
    #1 Datagrid flecha arriba y flecha abajo desplaza sobre la grilla
    Hola,

    queria saber si alguno conoce o hizo algun control que encapsule este comportamiento. Para salir del paso tuve que hacer algo horrible, agregar 2 funciones en javascript "arriba" y "abajo" para el control Datagrid que se ejecutan con flecha arriba y flecha abajo, setear un par de banderas que se leen al cargar la pagina y ejecutar codigo ASP.NET ahi que haga lo correspondiente, e ir guardando la posicion en un campo auxiliar, horrible y algo que no quiero tener que volver a usar. Alguno tiene una alternativa que esten usando para encapsular este comportamiento en el control mismo, o una version del control ya hecha, para evitar tener que hacer este quilombo?
    +
     
    0
    Me gusta
     
    http://www.psicofxp.com/forums/programacion.313/860709-datagrid-flecha-y-flecha-abajo-desplaza.html
    | Más
  • #2 Re: Datagrid flecha arriba y flecha abajo desplaza sobre la grilla

    Lo logre hacer funcionar poniendolo dentro de un control ascx, lo unico que me falta es poder obtener la id del control ascx que le asigna el usuario desde dentro del control ascx para hacerlo generico, alguna idea de como hacer esto?
    Me gusta este mensaje
  • #3 Re: Datagrid flecha arriba y flecha abajo desplaza sobre la grilla

    El GridView es .NET 3.5? No logro entender cual es el comportamiento, podrias poner algo de codigo para comprender mejor? lo que buscas es que el GridView se mueva dentro un contenedor?
    O lo que buscas son barras de desplazamiento para el GridView?
    Saludos
    -----Agregado el 29/10/2008 a las 11 : 27 : 57-----
    Estimado Daidalus, me quede pensando en el problema y se me ocurrio esta solucion muy trivial talvez ya la haya probado, si es asi mis perdones por subestimarlo, la solucion consiste en colocar el GridView dentro de un aspanel, ese control web tiene una propiedad ScrollBars. Funciona tal como funciona en control winform.
    Saludos
    Editado por chamixxx - 29.10.2008 10:27 hs. | Motivo: Mensajes unidos automáticamente
    Me gusta este mensaje
  • #4 Re: Datagrid flecha arriba y flecha abajo desplaza sobre la grilla

    Ya esta, lo pude solucionar, si hay una solucion mucho mas simple la desconozco. Este es el codigo que permite reusar el datagrid con teclas sube y baja que se muevan en los registros, esta hecho en un control ascx

    Código:
     
    <%@ImportNamespace="Conexiones" %>
    <scriptrunat="server">
    dim controlcito as datagrid
    PublicSub LLenar(ByVal sql AsString)
     
    Dim obj AsNew Conexiones.sql_conexiones
    obj.LLenarDataGrid(sql, DG_generico)
    EndSub
     
    Sub Page_load()
     
    controlcito = Findcontrol("dg_generico") 
    controlcito.focus()
    controlcito.attributes.add("onKeyDown", "if(event.keyCode== 40) { document.getElementById('" & Me.id & "_hf_auxiliar_bajar').value = 1; form1.submit(); } else if(event.keyCode== 38) { document.getElementById('" & Me.id & "_hf_auxiliar_subir').value = 1; form1.submit(); } ")
     
    If hf_auxiliar_subir.Value = 1 Then
     
    Dim PonColor As System.Drawing.Color
    PonColor = Drawing.Color.Red
     
    If hf_auxiliar_2.Value > 0 Then
     
    dg_generico.items(hf_auxiliar_1.value).backcolor = Drawing.Color.Transparent
    Dim contador AsInteger
    contador = hf_auxiliar_2.Value - 1
    hf_auxiliar_1.value = contador
    hf_auxiliar_2.Value = contador
    DG_generico.Items(contador).BackColor = PonColor
    hf_auxiliar_subir.Value = 0
    controlcito = Findcontrol("dg_generico")
    controlcito.focus() 
     
    EndIf
    EndIf
     
    If hf_auxiliar_bajar.Value = 1 Then
     
    dim cantidadposiciones asinteger
    cantidadposiciones = dg_generico.items.count() - 1
     
    If hf_auxiliar_2.Value < cantidadposiciones Then
     
    DG_generico.Items(hf_auxiliar_1.Value).BackColor = Drawing.Color.Transparent
    Dim contador AsInteger
    Dim PonColor As System.Drawing.Color
    PonColor = Drawing.Color.Red
    contador = hf_auxiliar_2.Value + 1
    hf_auxiliar_1.Value = contador
    hf_auxiliar_2.Value = contador
    DG_generico.Items(contador).BackColor = PonColor
    hf_auxiliar_bajar.Value = 0
    controlcito = FindControl("dg_generico")
    controlcito.Focus()
     
    EndIf
     
    EndIf
     
    EndSub
     
    Sub DG_generico_itemcommand(ByVal s AsObject, ByVal e As DataGridCommandEventArgs) Handles DG_generico.ItemCommand
    Dim iid AsInteger = Convert.ToInt32(e.Item.Cells(1).Text) 'Grab the ID from the hidden column 
    SelectCase (CType(e.CommandSource, LinkButton)).CommandName
    Case"Seleccionar"
     
    dg_generico.items(hf_auxiliar_1.value).backcolor = Drawing.Color.Transparent
    e.Item.BackColor = Drawing.Color.Red
    hf_auxiliar_2.Value = e.Item.ItemIndex
    hf_auxiliar_1.value = iid
     
    CaseElse
    ' Do nothing 
    EndSelect
    EndSub
    </script>
     
    <htmlxmlns="http://www.w3.org/1999/xhtml">
    <asp:DataGridid="DG_generico"AutoGenerateColumns="true"Width="100%"align="center"runat="server"BorderColor="Black"BorderWidth="1">
    <columns>
     
    <asp:TemplateColumnItemStyle-Width="20px"ItemStyle-BorderColor="Black"ItemStyle-BorderWidth="1"ItemStyle-Wrap="true">
    <HeaderStyleBorderColor="Black"BorderWidth="1"/>
    <ItemTemplate>
     
    <asp:linkbuttonCausesValidation="false"id="cmdSel"CommandName="Seleccionar"runat="server">
    <imgsrc="imagenes/23.png"alt='Seleccionar'width="20"width="20"/>
    </asp:linkbutton>
     
    </ItemTemplate>
    <ItemStyleWrap="True"Width="20px"></ItemStyle>
    </asp:TemplateColumn>
     
    </columns>
    </asp:DataGrid>
     
    <asp:HiddenFieldrunat="server"id="hf_auxiliar_bajar"Value="0"/>
    <asp:HiddenFieldrunat="server"id="hf_auxiliar_subir"Value="0"/>
    <asp:HiddenFieldrunat="server"id="hf_auxiliar_1"Value="0"/>
    <asp:HiddenFieldrunat="server"id="hf_auxiliar_2"Value="-1"/>
     
    </html> 
    Editado por Daidalus - 29.10.2008 11:06 hs. | Motivo: Tipo
    Me gusta este mensaje
Estás en: Inicio >> Foros >> Informática >> Programación


Estadísticas del tema
  • 3 RESPUESTAS
  • 1638 VISTAS
  • 2 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB