Sharepoint - (列表)过滤后的条件格式

时间:2017-05-13 13:43:41

标签: list sharepoint formatting conditional

我一直在脚本编辑器中使用此代码来格式化sharepoint在线应用程序中列表的行。

这个脚本工作正常!但是只在页面加载时才运行,如果需要在列表中设置过滤器,格式化就会丢失.....

一些想法修复?或其他方式在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>

1 个答案:

答案 0 :(得分: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";
      }
    }
  }
});