我使用JSLink自定义SharePoint显示列表。
如您在下面的链接中所看到的,我成功地过滤了数据:
https://sharepoint.stackexchange.com/questions/91317/filter-out-items-in-list-view-using-jslink
当我点击一个列的标题,试图第二次过滤一个数据时,它会系统地带回所有旧数据,而不是对以前过滤过的数据进行排序。
发布于 2015-05-13 14:09:59
在提供的示例中,过滤器通过行索引应用,这解释了为什么在应用排序之前和之后显示不同的行。
下面的示例演示如何按列表项id隐藏行,在这种情况下,筛选器将一致应用于相同的行:
(function () {
function listPreRender(renderCtx) {
var excludeItemIds = [1]; //hide list item with Id=1
var rows = renderCtx.ListData.Row; //get current rows
var filteredRows = rows.filter(function(row){
var curItemId = parseInt(row.ID);
if(excludeItemIds.indexOf(curItemId) === -1)
return row;
});
renderCtx.ListData.Row = filteredRows;
renderCtx.ListData.LastRow = filteredRows.length; //update ListData.LastRow property
}
function registerListRenderer()
{
SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
Templates : {
OnPreRender : listPreRender
}
});
}
ExecuteOrDelayUntilScriptLoaded(registerListRenderer, 'clienttemplates.js');
})();结果
筛选列表视图

应用排序后的筛选列表视图

https://stackoverflow.com/questions/30208486
复制相似问题