Necesito filtrar la tabla en la vista de carga.
Por ejemplo, tengo una tabla con 5 columnas ( Woid , Customer , AdapterID , Assignee , Status ). Al cargar, quiero filtrar la columna woid usando 'contains' . Logré filtrar onLoad pero cuando quiero filtrar nuevamente esa columna más tarde, recibí un error :
[i]'No se puede encontrar un objeto de soporte diferente '[objeto Objeto]' de tipo 'objeto'. NgFor solo admite el enlace a Iterables como Arrays.'[/i]
Código del programa a continuación...
@ViewChild('dt', { static: true }) dt: any; ngOnInit() { this.dt.filter('22', 'woid', 'contains'); } Además, después de filtrar a través del código woid ) y directamente a la vista con <p-columnFilter> (filtro de customer ) de la colección PrimeNG Angular, obtengo este JSON. La propiedad woid no es una matriz, a diferencia de la personalizada, que sí lo es. onFiltering método y JSON a continuación.
onFiltering(event: any) { console.log('Filtered value: '+ JSON.stringify(event.filters)); } { "woid": { "value": "22", "matchMode": "contains" }, "customer": [{ "value": "2", "matchMode": "contains", "operator": "and" }] }Reemplacé esta línea de código:
this.dt.filter('22', 'woid', 'contains');con este:
this.dt.filters['woid'] = [{value: "22", matchMode: "contains", operator: "and"}];Ahora funciona bien :)