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

AngularJS Discussion :

Afficher avec ng repeat dans un tableau le contenu de deux tables


Sujet :

AngularJS

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2014
    Messages : 10
    Points : 3
    Points
    3
    Par défaut Afficher avec ng repeat dans un tableau le contenu de deux tables
    Bonjour,

    Je découvre et fais joujou avec AngularJs depuis quelques jours et j'ai un problème : je souhaite afficher le contenu d'une table dans un tableau avec un ng repeat. Cette table contient 3 attributs, att1, att2, att3. Il se trouve que att3 est un id d'une autre table qui contient 2 attributs, attri1 ( att3 donc de la 1ere table) et attri2.

    Je souhaite afficher dans mon tableau att1, att2 et attri2.

    Je ne trouve pas quelle pourrait être la syntaxe correcte.

    Quelqu'un pourrait il me mettre sur la piste ?

    Merci

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <div class="cms_table"><table class="cms_table"><tr valign="top" class="cms_table_tr"><td class="cms_table_td">att1</td>
    <td class="cms_table_td">att2</td>
    <td class="cms_table_td">attri2</td>
    </tr>
    <tr valign="top" class="cms_table_tr"><td class="cms_table_td">Bart</td>
    <td class="cms_table_td">Simpson</td>
    <td class="cms_table_td">Springfield</td>
    </tr>
    </table></div>

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    Ta dificulter se trouve a quel niveau ? la récupération des données ? l'utilisation du ng-repeat ?

    Vu ton exemple je dirais ... l'uitlisation du ng-repeat !

    Alors voila un exemple, dans lequel "datas" est un array contenant un objet avec les trois valeurs que tu souhaites afficher dans le tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <tbody>
        <tr ng-repeat="data in datas">
    	<td class="cms_table_td">{{ data.att1 }}</td>
    	<td class="cms_table_td">{{ data.att2 }}</td>
            <td class="cms_table_td">{{ data.attri2 }}</td>
        </tr>
    </tbody>
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2014
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    J'ai mal exposé mon problème, je vais donner un exemple concret :

    J'ai deux tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     ville : [
            {
                id : "value",
                nom : "value",
                idDepartement : "value"
            }
        ],
    departement : [
            {
                id : "value",
                nom : "value",
            }
        ]
    J'affiche donc la liste de mes villes avec un ng repeat ville in villes par exemple.
    Mais au lieu d'afficher l'idDepartement, je souhaite afficher le nom qui correspond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <tr ng-repeat="ville in villes">
       <td>{{ville.id}}</td>
       <td>{{ville.nom}}</td>
       <td>{{departement.nom}}</td>
    </tr>
    J'ai essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td>{{departement[ville.idDepartement].nom}}</td>
    Mais cela me retourne une position dans l'index.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 112
    Points
    44 112
    Par défaut
    Bonjour,
    Mais au lieu d'afficher l'idDepartement, je souhaite afficher le nom qui correspond
    donc on peut considérer cela comme une redirection sur une entrée d'une autre table.
    Dans ce cas j'aurais tendance à faire par exemple
    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
    $scope.dataVilles = [{
      nom: 'Grenoble',
      idDepartement: '38'
    },
    {
      nom: 'Bordeaux',
      idDepartement: '33'
    },
    {
      nom: 'Marseille',
      idDepartement: '13'
    },
    {
      nom: 'Lyon',
      idDepartement: '69'
    }];
    $scope.dataDepartements = [{ /* la mise sous forme d'un Array n'est pas obligatoire */
      '38': {
        nom: 'Isère'
      },
      '33': {
        nom: 'Gironde'
      },
      '69': {
        nom: 'Rhône'
      },
      '13': {
        nom: 'Bouche du Rhône'
      }
    }];
    et dans le template
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <tr ng-repeat="ville in dataVilles">
        <td>{{ville.nom}}</td>
        <td>{{ville.idDepartement}}</td>
        <td>{{dataDepartements[0][ville.idDepartement].nom}}</td>
    </tr>

  5. #5
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Salut,

    et pourquoi ne pas avoir qu'un seul tableau en entrée ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    departement : [
            {
                id : "value",
                nom : "value",
                villes: [
                    {
                        id : "value",
                        nom : "value"                    
                    }
                ]
            }
        ]
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

Discussions similaires

  1. Afficher une image stockée dans un tableau de bytes
    Par ValyGator dans le forum Windows
    Réponses: 2
    Dernier message: 07/01/2007, 22h52
  2. [Conception] Afficher les données (BDD) dans un tableau en PHP
    Par ox@na dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 04/09/2006, 15h24
  3. Problème avec un background dans un tableau
    Par Space Cowboy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 25
    Dernier message: 08/08/2006, 23h33
  4. Problème avec les espaces dans un tableau !
    Par remixtech dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/07/2006, 19h30
  5. Réponses: 10
    Dernier message: 06/07/2006, 21h57

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