首页 > 解决方案 > AG-GRID:外部过滤器一次返回基于多个角色的行

问题描述

我有一个要求,我需要给他们一个单选按钮以查看“仅我的记录”,并根据那里的角色,状态将得到过滤,如果用户有单行,它工作正常,但在我的情况下,用户可以有多个在这种情况下,我需要根据角色添加所有这些行。

我正在尝试使用外部过滤器,但它不起作用有人可以帮我解决这个问题:

 doesExternalFilterPass(node) { 
    switch (selectedInvoiceStatus) {
                case 'MyRecord':
                    var mapping_data = (mapping as any).default;
                    var griddata=[];
                    personRole.forEach(element => {
                            var data= node.data.Status == mapping_data[element]
                            griddata.push(data)
                            node.data=griddata;
                    });
    
                    return  node.data;
    
                default:
                    return true;
            }
        }

标签: angularag-gridag-grid-angular

解决方案


我犯的错误是,我在返回语句中发送了过滤后的数据。后来我意识到返回语句是根据返回的布尔值显示/隐藏每一行,我尝试了这个并且它现在工作正常

 switch (selectedInvoiceStatus) {
        case 'MyRecord':
          
            var bool=false;
            personRole.forEach(element => {
                        if(node.data.Status === element)
                        {bool= true}
                }
            });

            return bool;
        default:
            return false;
    }

推荐阅读