2016-10-19 7 views
0

私はいくつかの助けが必要です。私は、共有リストでグループ化するときに色を設定しようとしています。関数:「グループ別」sharepoint 2013の色行

Iは、次のコード

SP.SOD.executeFunc( "clienttemplates.js"、 "SPClientTemplates"、関数(){

SPClientTemplates.TemplateManager.RegisterTemplateOverrides({ OnPostRenderを使用してい(CTX){

var statusColors = { 
     'Liberada' : '#FFF1AD', 
     'Cancelada' : '#FFD800', 
     'Créditos' : '#01DF3A' 
    }; 

    var rows = ctx.ListData.Row; 
    for (var i=0;i<rows.length;i++) 
    { 
     var status = rows[i]["Status"]; 
     var rowId = GenerateIIDForListItem(ctx, rows[i]); 
     var row = document.getElementById(rowId); 
     row.style.backgroundColor = statusColors[status]; 
    } 
} 

});

})。

誰かがヒントを教えてくれますか?

+0

私が正しく理解している場合は、ステータスフィールドでグループ化されたビューを持つSharepointカスタムリストがあり、一部またはすべてのステータスに背景色を追加したいとします。あれは正しいですか? –

+0

はい!それは私がやりたいことです! – Mom0x

答えて

0

私のローカルSharepoint 2013環境で見ることができるように、グループでビューを作成すると、Sharepointはグループ名を含むテーブルセルに「ms-gb」というCSSクラスを追加します。

このことを知った解決策は、ビューのページを編集することです。

スクリプトエディタのWebパーツをページに追加できます。

このスクリプトエディタWebpartでは、JavaScriptコードを追加して背景色を追加できます。例えば、このような

何か:あなたはこのスクリプトを試してみて、あなたはすでにあなたのマスターページやページレイアウトでjQueryのへの参照を持っていない場合

<script> 
$(document).ready(function(){ 
    var statusNames = ['Liberada', 'Cancelada', 'Créditos']; 
    var statusColors = { 
     'Liberada' : '#FFF1AD', 
     'Cancelada' : '#FFD800', 
     'Créditos' : '#01DF3A' 
    }; 
    $('td.ms-gb').each(function(){ 
     for (var x=0;x<statusNames.length;x++) { 
      if ($(this).text().indexOf(statusNames[x]) > -1) { 
       $(this).css('background-color',statusColors[statusNames[x]]); 
      } 
     }  
    }); 
}); 
</script> 

、スクリプトエディタ内の1を追加する必要がありますwebpart。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 

・ホープ、このヘルプ:

あなたはjQueryののローカルコピーをダウンロードするか、いずれかを使用することができますは、次のようにホストされています。

関連する問題