首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用JSLink共享点过滤数据

用JSLink共享点过滤数据
EN

Stack Overflow用户
提问于 2015-05-13 07:35:43
回答 1查看 5.2K关注 0票数 1

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

如您在下面的链接中所看到的,我成功地过滤了数据:

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

当我点击一个列的标题,试图第二次过滤一个数据时,它会系统地带回所有旧数据,而不是对以前过滤过的数据进行排序。

EN

回答 1

Stack Overflow用户

发布于 2015-05-13 14:09:59

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

下面的示例演示如何按列表项id隐藏行,在这种情况下,筛选器将一致应用于相同的行:

代码语言:javascript
复制
(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');

})();

结果

筛选列表视图

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30208486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档