IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Position de l'ascenseur d'un div avec composant gridview


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Par défaut Position de l'ascenseur d'un div avec composant gridview
    Bonjour,

    Voilà mon problème : j'ai un composant gridview placé dans une div (avec overflow:scroll pour faire apparaitre l'ascenseur).

    L'index de l'élément sélectionné peut être modifié via des bouton sur mon application.

    Je souhaite modifier la position de l'ascenseur au postback de la page afin que l'élément sélectionné soit visible sans que l'utilisateur ne scroll.

    Pour calculer la position de l'ascenseur j'utilise ce calcul : gv_liste.SelectedIndex * gv_liste.RowStyle.Height.Value (trouvé sur d'autres forum) et via le javascript je modifie le scrolltop de ma div.

    Ce sytème marche bien sur les 50 premiers éléments environ par contre au dela de l'index 50 sélectionné la position de mon ascenseur est trop haute.

    Qqun a déjà eu à faire à ce problème ?

    Voila la déclaration de ma gridview :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <asp:GridView ID="gv_liste" runat="server" AutoGenerateSelectButton="True" 
                             Width="380px" GridLines="None">
                                         <EditRowStyle BorderWidth="0px" />
                                         <HeaderStyle BorderStyle="None" />
                                         <RowStyle Height="20px" BorderStyle="None" />
                           <selectedrowstyle forecolor="Red" font-bold="true" BorderColor="Red" 
                                              BackColor="Red" BorderStyle="Solid"/>
     
                        </asp:GridView>
    Merci.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Par défaut
    Finalement comme je n'arrive pas à trouver un lien entre l'index et la position j'ai fait qqch de pas très propre et qui semble fonctionner :

    (si ca peut aider qqun)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
       If (gv_liste.SelectedIndex < 50) Then
                scrollPos.Value = ((gv_liste.SelectedIndex) * (gv_liste.RowStyle.Height.Value))
            ElseIf (gv_liste.SelectedIndex >= 50) And (gv_liste.SelectedIndex < 75) Then
                scrollPos.Value = (((gv_liste.SelectedIndex) * (gv_liste.RowStyle.Height.Value))) + (gv_liste.RowStyle.Height.Value * 2)
            ElseIf (gv_liste.SelectedIndex >= 75) And (gv_liste.SelectedIndex < 100) Then
                scrollPos.Value = (((gv_liste.SelectedIndex) * (gv_liste.RowStyle.Height.Value))) + (gv_liste.RowStyle.Height.Value * 4)
     
    ...
     
       End If
    Cette solution ne marche que si on connait le nombre de ligne max qui sera affiché dans la gridview (attention le fait d'afficher les lignes horizontales dans la gridview peux aussi influencer la postion de l'ascenseur), la hauteur de la div peut influencer le calcul également, à adapter donc ...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Par défaut
    Toujours pour ceux que ca peut aider :

    Avec Firefox si on ne met que scrollPos.Value = ((gv_liste.SelectedIndex) * (gv_liste.RowStyle.Height.Value)) tout fonctionne bien, pas besoin de faire des if partout en fonction de l'index sélectionné ...

    Très étrange ....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/10/2011, 09h39
  2. Gestion position div avec scroll
    Par ciran dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/09/2011, 13h48
  3. Emplacement de l'ascenseur sur un DIV avec Firefox
    Par legentil dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 03/06/2011, 14h34
  4. [XHTML] Un div avec position absolute et centré
    Par Emotion dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/04/2007, 15h02
  5. Réponses: 2
    Dernier message: 04/08/2006, 11h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo