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

jQuery Discussion :

Compter combien de mot dans une list Sharepoint


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Par défaut Compter combien de mot dans une list Sharepoint
    Bonjour,

    Je cherche un script qui me permettrait de compter le nombre d'action ('une plan d'action) dans SharePoint en fonction de son statut.
    Dans la colonne "STATUS" de la liste "LISTE", je souhaiterais compter combien d'action ont le status :
    "En cours" et "terminé".

    Idéalement je souhaiterais avoir une variable par status qui contient le nombre de status pour les placer dans un tableau html du type :

    | EN COURS | TERMINE |
    -------------------------------
    | xxx | yyy |

    D'après les infos que j'ai trouvé sur le web, il faut pour cela le faire grace à script que je mettrais dans le script editor.
    Mais comme je ne sais pas coder en JavaScript, je cherche une ame charitable qui aurait la réponse

    Merci d'avance

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    ce n'est pas aussi simple que cela, même pour quelqu'un qui connait parfaitement js ...

    Il faut savoir comment tu interroges la liste en question, sur la page de liste elle même? à partir d'une autre page ? , ( avec l'api search ? du camel query? avec CSOM ou JSOM ?)

    Si c'est sur la page de la liste ou un affichage de la laits il faudra en effet insérer un composant script sur la page et étudier la structure du code html -DOM) afin de récupérer les éléments souhaites.
    Si c'est par requête à partir d'une autre page, il faudra selon le retour parser le résultat pour dénombrer ce que tu souhaites
    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 confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Par défaut
    Oui je pense que ce n'est pas si simple.

    Je ne sais pas si avec ma pauvre connaissance je vais pouvoir te donner les infos relatives à tes questions, mais je peux te dire ce que j'ai déjà en place :

    - La liste est dans une page
    - Dans la page il y a aussi un editeur de script.
    - Via cet éditeur, j'ai deja un script qui me permet de faire du format conditionnel :
    --> Les lignes de la liste passent en vert quand le status de l'action est "Implémentée"
    --> Les lignes de la liste passent en gris quand le status de l'action est "Non retenue"

    Je me dis que si le script arrive a trouver la ligne grace au status, je me dis qu'il est aussi capable de compter et de stocker l'info dans une variable que je peux reprendre pour la mettre en forme. Je ne sais pas si c'est possible.

    Voici le script deja en place :
    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
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></script> 
    <script>
     
     
     
        $(document).ready(function(){
     
            $Text = $("td .ms-vb2:contains('Implémentée')").filter(function() {
      return $(this).text() == "Implémentée";})
            $Text.parent().css("background-color", "#5fc54d");
     
            $Text = $("td .ms-vb2:contains('Non retenue')");
            $Text.parent().css("background-color", "#999999");
     
     
        }); </script>

  4. #4
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      $Text = $("td .ms-vb2:contains('Implémentée')").filter(function() {
      return $(this).text() == "Implémentée";})
    curieux de faire un filter sur le :contains ...



    Nous sommes donc sur une seule et même page et le script en place procède par parsage du DOM (assez maladroitement d'ailleurs au vu du doublonnage du filter )
    Il suffit selon moi de remplacer le code en place dans l'editeur de script par celui ci
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     $(document).ready(function(){
         $Cells = $("td .ms-vb2");
         $Impl=$Cells.filter(function() {return $(this).text() == "Implémentée";});
         NbrImpl= $Impl.length;
         $Impl.parent().css("background-color", "#5fc54d");
     
         $Ref= $Cells.filter(function() { return $(this).text() == "Non retenue";});
         NbrRef=$Ref.length
         $Ref.parent().css("background-color", "#999999");
     
        }); </script>

    les deux variables MbrImpl et NbrRef sont respectivement le nombre d'implémentations et de refus
    A toi des les utiliser comme tu veux par exemple en les injectant après le tableau dans des spans
    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 !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Par défaut
    Excellent !
    C'était donc un si petit bout de code

    Merci beaucoup de ton aide !

    Je profite de ce post pour exprimer ma nulité et de te demander si tu aurais un exemple de code a ajouter pour afficher le resultat dans la page actuelle ?

  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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    Tout dépend d'où tu souhaites l'afficher.

    Crée un élement du DOM n'est pas compliqué.
    Ce qui l'est plus est de l'insérer dans la page quand tu ne sais pas comment la page est faite ...

    Je peux créer un div et le mettre après le tableau en partant du selecteur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $("td .ms-vb2:contains('Implémentée')")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $("td .ms-vb2:contains('Implémentée')").parents('table:eq(0))
    me donne le tableau contenant les textes ...
    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 !

Discussions similaires

  1. Compter nombre de mots dans une cellule Excel
    Par nkhalidy dans le forum Excel
    Réponses: 6
    Dernier message: 12/07/2017, 21h12
  2. Problème de format dans une liste SharePoint
    Par tipierre76 dans le forum SharePoint
    Réponses: 1
    Dernier message: 05/06/2008, 20h21
  3. clé unique dans une liste sharepoint
    Par makinda dans le forum SharePoint
    Réponses: 1
    Dernier message: 14/05/2008, 08h35
  4. Déposer un fichier automatiquement dans une list sharepoint
    Par nico18987 dans le forum SharePoint
    Réponses: 7
    Dernier message: 22/12/2007, 12h19
  5. Compter nombre de mots dans une chaîne.
    Par xVINCEx dans le forum C++
    Réponses: 22
    Dernier message: 24/11/2004, 13h33

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