c# - Hur lägger man till ett filter på en sida i Serenity?
Jag försöker skapa ett filter för en sida i Serenity.
Jag har en sida som heter Företag, och en knapp för att öppna en annan sida, FöretagsAnvändare, användare från detta företag.
Den öppnar redan den nya sidan, men den visar alla användare, jag vill filtrera efter den rad jag har klickat på.
Jag har försökt ändra controllern för CompanyUsers genom att lägga till en parameter, men efter detta vet jag inte hur man ställer in filtret i CompanyUsers.
Min Onclick i 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;
}
}
Hur kan jag göra det med lugn? Finns det ett enkelt sätt att göra det?
Tack!!
Svar #1
Jag har hittat hur man gör det......
Med QuickFilter på kolumn och getQuickFilters på Grid.ts
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;
}
Svar #2
Snabba filter 100% fungerande kod; prova den här koden
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;
}
