我一直在脚本编辑器中使用此代码来格式化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>
答案 0 :(得分:0)
我建议使用客户端站点呈现(CSR):
这将处理对列表所做的任何更改(排序/过滤/等)并根据您的规则更新您的视图。
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";
}
}
}
});