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 :

[C#][AJAX] Accéder aux DropDownlist d'une table HTML


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 10
    Points
    10
    Par défaut [C#][AJAX] Accéder aux DropDownlist d'une table HTML
    Bonjour,
    Je suis en train de bosser sur une application intranet:
    • Framework dotNET 1.1
    • Framework AJAX Schwarz


    Dans la page qui me pose problème, j'ai les composantes suivantes :
    • Une partie recherche/filtre avec des dropdownlist et compagnie
    • Une partie Datagrid qui affiche les valeurs extraites d'une requete


    Une colonne du datagrid est constitué d'un DropDownList qui affiche une liste d'infos. Ce sont les mêmes infos pour chacunes des lignes du datagrid.

    La présentation faite, voici ce que je cherche à faire et qui me pose problème.

    J'ai donc une dropdownlist dans "l'entete" de ma page. On retrouve les même valeurs que dans les dropdownlist à la ligne dans le datagrid.

    Je cherche à ce que si une valeur est sélectionné dans la dropdownlist d'entete, celà déclenche la sélection automatique de la même valeur dans toutes les dropdownlist du datagrid et celà sans postback. :

    Pour l'instant j'arrive à extraire le contenu de ma cellule de mon tableau où se trouve la dropdownlist que je veux configurer, mais je n'arrive pas à accéder à la collection d'options du select...
    Le contenu de la cellule du tableau n'est pas reconnu comme un select.

    Bref je suis bloqué et j'ai épuisé mon stock d'idées sur le sujet....

    Si quelqu'un peut me venir en aide, d'avance merci

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Pas d'idée ?
    Alors ? Personne n'a une idée ? Je vais quand même pas faire ca en postback....

  3. #3
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    je ne sais pas trop ce que tu peux faire avec Ajax ca rje ne maitrise pas le sujet , jamais essayé en fait.
    Mais si tu possedes une mastercombo qui doit ordonner a toutes les autres de se mettre à une certaine option , tu peux le faire en utlisant les propriete des combo en javascript. comme ça tu evites le postback. non?

  4. #4
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Salut,

    Essayes :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    function SelectAll() {
     this.MyDropDowns = new Array();
     this.FillArray();
    }
     
    var sa = SelectAll.prototype;
     
    sa.FillArray = function(){
     
    //ici tu récupère l'élement TBODY de ton datagrid (qui est un TABLE une fois   
    //la page compilée (si tu utilise FireFox alors tu récupere l'élement TABLE) 
     var myBody = ...
     
     for (var i=0; i< myBody.childNodes.length; i++){
      //la pour chaque   childNodes (éléments TR) tu récupère ton élément SELECT
      //là ou il se trouve 
      var mySelect = ....
     
      this.MyDropDowns.push(new Select(mySelect));
     }
    }
     
    function Select(mySelect, myArr){
     this.Sel = mySelect;
     this.Arr = myArr;
     this.SetupEvents();
    }
     
    var s = Select.prototype;
     
    s.SetupEvents = function(){
     var me = this;
     me.onChange = function(){
      //ici tu boucles sur tous les objet Select dans myArr et 
      //tu mets leur SelectedIndex a la meme valeur que celui de me.Sel
     };
    }

    dans l'évenement onLoad de ta balise Body tu rajoutes une fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function Load() {
     document.SelectAll = new SelectAll();
    }
    Voilà, c'est un solution non testée mais tu as les grandes lignes.

    Dorrénavant je pense que tu devrais plutot poster dans le forum Javascript, meme si je tolère AJAX ici

    @+

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    En fait j'ai trouvé, il s'agissait tout simplement d'utiliser la propriété ChildNodes.

    Enfin "Je", ca serait plutot un gentil participant à ces forums qui m'a soufflé l'astuce, rendons à cesar ce qui appartient à SpaceFrog

    Merci quand même de votre participation Messieurs...

    Bien essayé ton coup graphicsxp mais c'est beaucoup de code quand même
    Au moins ca fait un truc multi navigateurs... mais chez moi ils utilisent que IE, ils sont allergiques aux renards...

  6. #6
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Ben oui... childNodes. C'est bien ce que je t'avais dis

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/05/2011, 16h29
  2. Réponses: 6
    Dernier message: 07/07/2010, 11h42
  3. [VBA] accéder aux données d'une table
    Par Schniko dans le forum VBA Access
    Réponses: 13
    Dernier message: 27/02/2008, 00h36
  4. Accéder aux Select d'une table HTML
    Par actarus108 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/10/2006, 16h11
  5. accéder aux colonnes d'une table différemment
    Par fab_hendrix dans le forum Langage SQL
    Réponses: 3
    Dernier message: 06/08/2005, 19h20

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