gpt4 book ai didi

javascript - 筛选 SharePoint ListView Web 部件时尝试调用 Javascript 函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:43:03 25 4
gpt4 key购买 nike

我有一些 JavaScript 会根据特定列中的值为 SharePoint ListView Web 部件中的行着色。这部分工作正常,页面加载时行的颜色正确。我遇到的问题是,当列表被过滤时(如果您单击任何列标题并按升序或降序排列)格式丢失并且颜色消失。

我正在寻找一种在过滤操作完成后保留或重新应用格式的方法。如果刷新页面,选择的过滤器将保留在原位并且颜色将恢复。

我需要一种方法,以便在应用滤镜后重新应用颜色,而不是仅在页面加载时重新应用。

提前致谢。

这是我当前的 JS:

SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
OnPostRender: function(ctx) {
var rows = ctx.ListData.Row;
for (var i=0;i<rows.length;i++)
{
var trimmed = rows[i]["Age"]
var final = trimmed.replace(",", "");
var oneWeek = final < 7;
var oneToTwo = final >= 7 && final <= 14;
var twoOrMore = final > 14;

if (oneWeek)
{
var rowElementId = GenerateIIDForListItem(ctx, rows[i]);
var tr = document.getElementById(rowElementId);
tr.style.backgroundColor = "#CCFFCC";

}

else if (oneToTwo)
{
var rowElementId = GenerateIIDForListItem(ctx, rows[i]);
var tr = document.getElementById(rowElementId);
tr.style.backgroundColor = "#FFEECC";

}

else if (twoOrMore)
{
var rowElementId = GenerateIIDForListItem(ctx, rows[i]);
var tr = document.getElementById(rowElementId);
tr.style.backgroundColor = "#FFCCCC";

}
}

}
}

);

最佳答案

经过大量调查,我的格式在排序或过滤发生后的最后一秒被覆盖。

解决方案是将其添加到代码末尾:ctx.skipNextAnimation = true;这跳过了显示所有行就位的动画,并允许我的格式正常生效。

关于javascript - 筛选 SharePoint ListView Web 部件时尝试调用 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30643596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com