2017-05-13 2 views
0

Ich habe diesen Code im Skripteditor verwendet, um die Zeilen meiner Liste in Sharepoint Online-Anwendung zu formatieren.Sharepoint - (Liste) Bedingte Formatierung nach Filter

Dieses Skript funktioniert gut! aber wird nur ausgeführt, wenn die Seite geladen wird, wenn es notwendig ist, Filter in der Liste zu machen, die Formatierung verloren ist ...

einige ideia zu beheben? oder andere Möglichkeit, bedingte Formatierung in Sharepoint zu tun?

<script src="https://....jquery-3.2.1.min.js" type="text/javascript"></script> 
 
<script> 
 
    $(document).ready(function(){ 
 
     $Text = $("td .ms-vb2:contains('PENDENTE DE EVIDENCIA')").filter(function() { 
 
    return $(this).text() == "PENDENTE DE EVIDENCIA";}) 
 
     $Text.parent().css("background-color", "#CECECE"); 
 
     
 
     $Text = $("td .ms-vb2:contains('ATENDIDO')"); 
 
     $Text.parent().css("background-color", "#FFFF66"); 
 

 
ctx.skipNextAnimation = true 
 

 
    }); </script>

Antwort

0

Ich würde empfehlen Clientstandort Rendering mit (CSR):

Dadurch werden alle Änderungen Griff in die Liste aus (Sortierung/Filterung/etc) und aktualisieren Sie Ihre Ansichten nach deine Regeln.

Here's how it works

SPClientTemplates.TemplateManager.RegisterTemplateOverrides({ 
    OnPostRender: function(ctx) { 
    var rows = ctx.ListData.Row; 
    for (var i=0;i<rows.length;i++) 
    { 
     // UPDATE THE LOGIC HERE FOR WHAT MAKES SENSE FOR YOU 
     var isApproved = rows[i]["_ModerationStatus"] == "Approved"; 
     if (isApproved) 
     { 
     var rowElementId = GenerateIIDForListItem(ctx, rows[i]); 
     var tr = document.getElementById(rowElementId); 
     tr.style.backgroundColor = "#ada"; 
     } 
    } 
    } 
});