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

JavaScript Discussion :

[DOM] CSS & Reload de page Javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Avril 2007
    Messages : 135
    Par défaut [DOM] CSS & Reload de page Javascript
    Bonjour,

    J'ai un problème JS que j'ai bien de la peine à résoudre

    J'ai une GridView dans une DIV:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="tblContainer">

    Dans ma feuille CSS j'ai défini ce DIV comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    div#tblContainer {
      width:1000px
      height:400px
      overflow:auto
      scrollbar-base-color:#EOEOEO
    }

    Ce code marche jusque là.
    Mais j'ai une fonction JS qui modie les valeurs de la GridView et fait finalement un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(Label).innerText = new_val
    Une fois la fonction JS appelé la Gridview se recharger comme si le CSS n'etait plus appliqué.... je ne dois pas bien comprendre les évenements qui se passe derrière..

    Merci si vous pouvez m'aider ......

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    il est ou le label par rapport au conteneur ???

    accessoirement il me semble que coté css
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     scrollbar-base-color:#EOEOEO
    est propriétaire IE
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Salut,
    Citation Envoyé par barnet Voir le message
    Une fois la fonction JS appelé la Gridview se recharger comme si le CSS n'etait plus appliqué
    As-tu une fonction javascript qui recharge la page? Je ne comprends pas bien. As-tu un code plus conséquent, mais uniquemnt avec le code nécessaire à nous proposer?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Avril 2007
    Messages : 135
    Par défaut
    Le Label (en fait un Textbox) est un champ contenu dans ma GridView, je modifie les valeurs et sur un onBlur j'applique ma fonction JS (simple calcule et affichage dans la meme Textbox d'une nouvelle valeur).

    J'ai pu déterminer que l'erreur se produit lors du document.getElementById()
    Je n'utilise que IE.

    Le Css que je vous ai donnée est appelé dans le Div qui contient la GridView. Ensuite lors d'un RowDataBound il appelle d'autres CSS

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Avril 2007
    Messages : 135
    Par défaut
    Voila une partie de mes codes:

    CSS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    div#tblContainer {
    	width: 1000px;
    	height: 610px;
    	overflow: auto;
    	scrollbar-base-color:#E0E0E0 ;
    }
     
    thead th {
    	top: expression(document.getElementById("tblContainer").scrollTop-2); /* IE5+ only */
    	z-index: 20;
    }
     
    td.headerlocked,  th.headerlocked{
    	background-color: #507CD1;
    	font-weight: bold;
    	Font-Family:Verdana;
    	Font-Size:x-small;
    	color:white;
    	left: expression(parentNode.parentNode.parentNode.parentNode.scrollLeft); /* IE5+ only */
    	position: relative;
    	z-index: 10;
    }

    ASPX
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         <div id="tblContainer">
         <asp:GridView ID="GridView" runat="server">
    Le tout rempli de TextBox

    JS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('ctl00_Main_GridView_ctl25_TotalItem').innerText = newTotalGeneral;
    CS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
     
            //rename the header with the months/year data
            if (e.Row.RowType == DataControlRowType.Header)
            {
                e.Row.Cells[0].CssClass = "headerlocked";



    C'est juste un apercu... , lorsque JS est appelé le Datagrid s'affiche entièrement et n'applique plus le CSS

    Merci pour tout aide

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     e.Row.Cells[0].CssClass = "headerlocked";


    essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     e.Row.Cells[0].className = "headerlocked";
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     e.Row.Cells[0].CssClass = "headerlocked";


    essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     e.Row.Cells[0].className = "headerlocked";
    non spaffy, ce n'est pas du javascript mais du C#. notre ami fait du dev web .NET

    sinon je n'ai pas identifié le problème mais je me permet une remarque au passage le javascript dans le css ralentit considérablement le dynamisme de ta page (en tout cas sous IE). j'ai pu déjà constater qu'une pauvre page avec une table d'une cinquantaine de ligne pouvait ramer comme c'est pas possible avec ça (les css et donc le javascript dedans sont constamment réévalués quand tu agis sur la page)

  8. #8
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    Citation Envoyé par barnet Voir le message
    C'est juste un apercu... , lorsque JS est appelé le Datagrid s'affiche entièrement et n'applique plus le CSS
    tu as regardé dans le code généré si le style est positionné sur la cellule que tu penses ? (via un DOM Explorer quelconque sur le navigateur que tu utilises). peut-être qu'il n'est pas appliqué là où tu crois

    (c'est marrant je suis en train de me faire ch*** avec des gridview aussi depuis quelques jours...)

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Avril 2007
    Messages : 135
    Par défaut
    Le style est bien généré avant, et toujours après le problème, sur les controles que je veux ...

    Cet exemple pour permettre à un GridView d'être scrollé est asseu courant, pourtant cela pose des problèmes avec l'utilisation commune de JS...

    QQn à une idée (de plus) ?

Discussions similaires

  1. [Html/Css] Problème mise en page texte
    Par Myogtha dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 07/12/2005, 14h21
  2. DOM - naviguer dans un XML en javascript
    Par hpfx dans le forum Général JavaScript
    Réponses: 36
    Dernier message: 08/11/2005, 22h43
  3. [CSS][HTML] Mise en page : Avec ou sans tableaux ?
    Par arno2000 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 09/08/2005, 02h34
  4. [css]pb pied de page
    Par calimero82 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 13/06/2005, 10h49

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