c# - ¿Cómo agregar un filtro a una página en Serenity?
Estoy intentando hacer un filtro para una página en Serenity.
Tengo una página llamada Empresas y un botón para abrir otra página, UsuariosDeEmpresa, usuarios de esta empresa.
Ya está abriendo la nueva página, pero me está mostrando todos los usuarios, quiero filtrar por la fila en la que he hecho clic.
He intentado cambiar el Controlador de CompanyUsers agregando un parámetro, pero después de esto no sé cómo establecer el filtro en CompanyUsers.
Mi Onclick en 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;
}
}
¿Cómo puedo hacer eso con serenidad? ¿Hay una manera fácil de hacer eso?
¡Gracias!!
Respuesta #1
He encontrado cómo hacer eso......
Con QuickFilter en la columna y getQuickFilters en 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;
}
Respuesta #2
Filtros rápidos 100% Código Funcional; prueba Este Código
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;
}
