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

Développement Sharepoint .NET Discussion :

[SharePoint 2013] Couleurs de liste personnalisée


Sujet :

Développement Sharepoint .NET

  1. #1
    Candidat au Club
    [SharePoint 2013] Couleurs de liste personnalisée
    Bonjour à tous

    Suite à la conversation https://www.developpez.net/forums/d1480485/dotnet/general-dotnet/developpement-office-system/sharepoint/developpement-sharepoint/couleur-d-cellule-colonne-liste-site-d-equipe/ et les solutions apportées pour personnaliser des listes dans un SharePoint 2013.
    Pour info le code pour coloriser une liste en fonction d'une colonne
    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
    function colorCodeRows() {
     
        SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
            OnPostRender: function (ctx) {
               var rows = ctx.ListData.Row;
                for (var i = 0; i < rows.length; i++) {
     
                      var itemDate = rows[i]['Retard'];
                      var rowId = GenerateIIDForListItem(ctx, rows[i]);
                     var row = document.getElementById(rowId);
     
                         if (itemDate <= 0 ) {
                                 row.style.backgroundColor = '#f29672'; //// Retard au jour ou dépassé
                                                       }
    		    if (itemDate == 1 ) {
                        row.style.backgroundColor = '#f2d972'; ////  Entre 1 et 3 compris de retard
                                                     }
     
                }
            }
        });
    }


    Je suis à la recherche du même genre qui me permettrai de mettre en couleur la liste une ligne sur deux, en commençant par la première ( ou seconde ligne, pas d'importance).
    Si quelq'un à une idée de code, je suis preneur.

  2. #2
    Membre habitué
    je pense qu'un modulo suffira. en reprenant le code précedent ça donnerai un truc comme ça :

    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
    function colorCodeRows() {
     
        SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
            OnPostRender: function (ctx) {
               var rows = ctx.ListData.Row;
                for (var i = 0; i < rows.length; i++) {
     
     
                      var rowId = GenerateIIDForListItem(ctx, rows[i]);
                     var row = document.getElementById(rowId);
     
                         if (i % 2 == 0) {
                                 row.style.backgroundColor = '#f29672'; //// Retard au jour ou dépassé
                                                       }
    		    else {
                        row.style.backgroundColor = '#f2d972'; ////  Entre 1 et 3 compris de retard
                                                     }
     
                }
            }
        });
    }

  3. #3
    Nouveau Candidat au Club
    Colorisation ligne une sur deux
    Bonjour,

    Je souhaiterais faire la meme chose que djedjebono, mais j'ai un peu de mal avec le javascript du coup si 'lon pouvait m'aider à comprendre ce code en insérant des commantaires, ce serait sympa.

    J'aimerais faire un truc du style :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    for(i = 0; i< nombre de lignes; i++)
    {
           if(i % 2 == 0) 
           {
                  colorise la ligne en gris
           }
           sinon rien
    }

    En vous remerciant.

###raw>template_hook.ano_emploi###