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 :

Rajouter des conditions pour différent affichage dans un tableau


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    formateur
    Inscrit en
    Décembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : formateur

    Informations forums :
    Inscription : Décembre 2018
    Messages : 4
    Par défaut Rajouter des conditions pour différent affichage dans un tableau
    Bonjour,

    Je une condition sur data.size qui me change l'affichage pour les grosses valeurs (1000=1k), reçu d'une API, pour mon tableau
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          <td width="90">{data.price}</td>
          <td width="80">{data.size > 999 ? (data.size/1000).toFixed(0) + 'k' : data.size}</td>
          <td width="100">{data.timestamp}</td>
    je voudrais savoir comment faire pour rajouter des conditions supplémentaires pour cet affichage (genre 1 000 000=1M)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data.size > 999999 ? (data.size/1000000).toFixed(2) + 'M'
    Mais je ne trouve pas la "syntaxe" pour pouvoir accoler ces 2 conditions (ou même d'une 3eme encore)... j'ai essayé les () et ||(ou) ... dois-je "borner" >datasize> pour écrire la condition?...

    Merci de m'éclairer

  2. #2
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Décembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2018
    Messages : 5
    Par défaut
    Bonjour,

    Premièrement, il faut prendre en compte le fait que 1 ko n'est pas égal à 1000 o mais plutôt à 1024 o... Il en va de même pour les Mo. 1 Mo = 1024 ko = 1024x1024 o

    Pour ce qui est de de l'affichage conditionnel, je pense que tu peux ajouter un affichage conditionnel dans la seconde partie, dans ce style là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {data.size >= 1024 ? (data.size/1024).toFixed(0) + 'k' : (data.size >= 1024*1024 ? (data.size/(1024*1024)).toFixed(0) + 'k' : data.size)}
    Sinon, tu peux gérer ça de manière plus "classique" avec des "if" et des "else"

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 210
    Par défaut
    Bonjour,
    Premièrement, il faut prendre en compte le fait que 1 ko n'est pas égal à 1000 o mais plutôt à 1024
    attention quand même on ne sait pas ce que l'on manipule !

  4. #4
    Candidat au Club
    Homme Profil pro
    formateur
    Inscrit en
    Décembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : formateur

    Informations forums :
    Inscription : Décembre 2018
    Messages : 4
    Par défaut
    Bonjours et merci zoidrums,

    (Effectivement, NoSmoking, ce ne sont pas des octets, mais des quantités...)

    Mais ce n'est pas grave, car c'est vraiment "la syntaxe", la façon d'écrire la seconde condition, qui me bloque...

    j'ai donc mis (pour suivre la logique de l'exemple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          <td width="80">{data.size > 999 ? (data.size/1000).toFixed(0) + 'k' : (data.size > 999999 ? (data.size/1000000).toFixed(2) + 'M' : data.size)}</td>
    Mais ça semble ne pas être ça, car j'ai encore des 1568k et jamais de 'M'...ceci dit ça tourne quand même (cette syntaxe n'est donc pas fausse et/ou bloquante)

    Je me demande s'il ne vaudrait pas mieux inverser les conditions ; çàd passer celle de M d'abord et si elle n'est pas respectée, que ça passe sur la suivante... ?

    (En revanche les tests sont pas facile à faire en ces jours de fêtes car les volumes sont bcp plus faibles que d'ordinaire et j'ai donc peu de valeur > à 1M entrantes...)

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Salut,

    Oui c'est normal et oui il faut inverser car un nombre supérieur à 999999 vérifie toujours la première condition qui est d'être supérieur à 999...

  6. #6
    Candidat au Club
    Homme Profil pro
    formateur
    Inscrit en
    Décembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : formateur

    Informations forums :
    Inscription : Décembre 2018
    Messages : 4
    Par défaut
    (j'ai enfin eu une grosse donné, pour vérifier...)

    Ouais c'est bon! c'était ça...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          <td width="80">{(data.size > 999999 ? (data.size/1000000).toFixed(2) + 'M' : data.size > 999 ? (data.size/1000).toFixed(0) + 'k' : data.size)}</td>
    Merci à tous

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

Discussions similaires

  1. [applet]utilser des infos pour les traiter dans une servlet
    Par jeromejanson dans le forum Applets
    Réponses: 5
    Dernier message: 07/03/2010, 23h22
  2. Poser des conditions pour affichage.
    Par bobosh dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 11/08/2008, 13h38
  3. Réponses: 12
    Dernier message: 07/08/2006, 09h30
  4. Condition pour l'affichage d'une boite de message
    Par Virgile59 dans le forum Access
    Réponses: 19
    Dernier message: 05/10/2005, 14h22
  5. Importance des accents pour une recherche dans postgre
    Par glouf dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 05/03/2005, 13h25

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