2017-05-13 45 views
0

私はこのコードをスクリプトエディタで使用して、シェアポイントオンラインアプリケーションで自分のリストの行を書式設定しています。Sharepoint - (リスト)フィルタ後の条件付き書式設定

このスクリプトは正常に機能します。ページがロードされたときにのみ実行されます。リスト内にフィルタを作成してフォーマットを失った場合.....

修正するにはいくつかのアイデアはありますか?またはシェアポイントで条件付き書式設定を行うための他の方法?

<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>

答えて

0

私は、クライアントサイトのレンダリング(CSR)を使用することをお勧めします:

これは、に応じて、リストに加えた変更(ソート/フィルタリング/など)を処理し、あなたのビューを更新しますあなたのルール

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"; 
     } 
    } 
    } 
}); 
関連する問題