繁体   English   中英

使用JSLink Sharepoint过滤数据

[英]Filter data with JSLink Sharepoint

我使用JSLink自定义SharePoint显示列表。

如您在以下链接中所见,我设法过滤了数据:

https://sharepoint.stackexchange.com/questions/91317/filter-out-items-in-list-view-using-jslink

当我单击列标题尝试第二次过滤数据时,它将系统地带回所有旧数据,而不是整理出先前过滤的数据。

在提供的示例中, 按行索引应用过滤器,这说明了为什么在应用排序之前和之后显示不同的行。

下面的示例演示如何通过列表项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');

})();

结果

过滤列表视图

在此处输入图片说明

应用排序后的过滤列表视图

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM