简体   繁体   English

如何在平静中添加过滤器到页面?

[英]How to add a filter to a page in serenity?

I'm trying to make a filter for a page in serenity. 我正在尝试为平静的页面制作一个过滤器。

I have a page called Companies, and one button to open another page, CompanyUsers, users from this company. 我有一个名为Companies的页面,还有一个用于打开另一个页面的按钮,CompanyUsers,来自该公司的用户。

在此输入图像描述

It's already opening the new page, but it's giving me all the users, I want to filter by the row I have clicked. 它已经打开了新页面,但它给了我所有用户,我想按照我点击的行进行过滤。

I have tried changing the Controller of CompanyUsers adding a parameter, but after this I don't know how to set the filter in CompanyUsers. 我尝试更改CompanyUsers的Controller添加参数,但在此之后我不知道如何在CompanyUsers中设置过滤器。

My Onclick in CompaniesGrid.ts 我的Onclick在CompaniesGrid.ts

protected onClick(e: JQueryEventObject, row: number, cell: number): void {
            super.onClick(e, row, cell);

            let item = this.itemAt(row);

            if ($(e.target).hasClass('usuario-row')) {
                window.location.href = '/Cadastros/EmpresasUsuarios?empresaId=' + item.EmpresaId;
            }
        }

How can I do that with serenity ? 我怎么能平静地做到这一点? Is there an easy way to do that ? 有一个简单的方法吗?

Thanks!! 谢谢!!

I have found how to do that...... 我发现怎么做......

WIth QuickFilter on column and getQuickFilters on Grid.ts 在列上使用QuickFilter,在Grid.ts上使用getQuickFilters

protected getQuickFilters() {
        var flt = super.getQuickFilters();

        var q = Q.parseQueryString();

        if (q["jEmpresa"]) {
            var empresa = Q.tryFirst(flt, x => x.field == "EmpresaId");
            empresa.init = e => {
                e.element.getWidget(Serenity.LookupEditor).value = q["jEmpresa"];
            };
        }

        return flt;
    }

Quick filters 100% Working Code; 快速过滤100%工作代码; try This Code 试试这个代码

var q = Q.parseQueryString(); var q = Q.parseQueryString();

if (q["jEmpresa"]) {
    var empresa = Q.tryFirst(flt, x => x.field == "EmpresaId");
    empresa.init = e => {
        e.element.getWidget(Serenity.LookupEditor).value = q["jEmpresa"];
    };
}

return flt;

} }

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

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