[英]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.