2016-10-07 7 views

Antwort

5

Filter sind in der aktuellen Betaversion 0 von kendo-angular2-grid nicht verfügbar.

Derzeit können Sie begrenzten API verwenden, die here

Ausgabe aufgeführt sind bereits auf Telerik Kendo-angular2 berichtet. Refer this

Kommentar von Telerik Mitglied auf diesem Filter Issue-

Wir haben keine konkreten Zeitplan für die Netzfilterfunktion haben. Es gibt eine Reihe von Voraussetzungen für diese Funktion, die meisten die Datumsauswahl. http://www.telerik.com/kendo-angular-ui/roadmap/

Diese Idee wird bereits gebucht auf neu eröffnete Feedback Portal Refer this

3

Ich habe dieses plunker, wo Sie Ihr Gitter nach Produktnamen filtern können - Sie können unsere Roadmap für weitere Details überprüfen. Es ist ein sehr einfaches Beispiel:

import { Component } from '@angular/core'; 

import { 
    GridDataResult, 
    SortDescriptor, 
    orderBy 
} from '@progress/kendo-angular-grid'; 

@Component({ 
    selector: 'my-app', 
    template: ` 
     <input type="text" [(ngModel)]="filter" (ngModelChange)="change()"> 
     <kendo-grid 
      [data]="gridView" 
      [sortable]="{ mode: 'multiple' }" 
      [sort]="sort" 
      (sortChange)="sortChange($event)" 
     > 
     <kendo-grid-column field="ProductID" title="Product ID" width="120"> 
     </kendo-grid-column> 
     <kendo-grid-column field="ProductName" title="Product Name"> 
     </kendo-grid-column> 
     <kendo-grid-column field="UnitPrice" title="Unit Price" width="230"> 
     </kendo-grid-column> 
     </kendo-grid> 
    ` 
}) 
export class AppComponent { 
    private filter: string; 
    private sort: SortDescriptor[] = []; 
    private gridView: GridDataResult; 
    private products: any[] = [ 
     { 
     "ProductID": 1, 
     "ProductName": "Chai", 
     "UnitPrice": 18.0000, 
     "Discontinued": false 
    }, 
     { 
     "ProductID": 3, 
     "ProductName": "Chai", 
     "UnitPrice": 122.0000, 
     "Discontinued": true 
    } 
           ,{ 
     "ProductID": 2, 
     "ProductName": "Chang", 
     "UnitPrice": 19.0000, 
     "Discontinued": false 
    }]; 

    constructor() { 
     this.loadProducts(); 
    } 

    protected sortChange(sort: SortDescriptor[]): void { 
     this.sort = sort; 
     this.loadProducts(); 
    } 

    private loadProducts(prods): void { 
     const products = prods || this.products; 
     this.gridView = { 
      data: orderBy(products, this.sort), 
      total: products.length 
     }; 
    } 

    private change(){ 
     this.loadProducts(this.products.filter(product => product.ProductName === this.filter)); 
    } 

} 
+0

Danke @fabio für die Plocker-Demo. Ich erwarte das Kendo Grid im eingebauten Filter, wie sie es in Kendo Grid Demo http://demos.telerik.com/kendo-ui/grid/filter-row gegeben haben. –

+0

@ user2924558 gut, wie Sanket sagte, das ist noch nicht implementiert –

+0

Danke, das ist, was ist für suchen. Weil es noch keine offizielle Implementierung gibt. Das wäre toll! –

0

i zum Fabio Antunes Lösung gegeben
Import compileFilter von '@ progress/Kendo-Daten-Abfrage';

und ändern Sie die change() -Methode wie folgt. Dadurch können Sie nach mehreren Spalten filtern. Wieder nicht genau das, was ich will, aber das wird für jetzt tun.

0

Update auf dem Kendo-Filter - Sehr ähnlich zu Noniks Lösung.

Ersetzen Sie "compileFilter" durch "filterBy". Dies ist Teil der Datenabfrage von Hilfsfunktionen.

import { filterBy } from '@progress/kendo-data-query' 

Kendo Data Query

0

Zu Ihrer Information Kendo Grid hat Filterfunktion in neuester Version hinzuzufügen. Bitte schauen Sie auf ihrer Website nach.

Wenn Sie stll mit Kendo Raster etwas custome Filter erforderlich in Winkel 2 dann hier oder in Google-Suche: Angular-2 + Kendo Gitter Individuelle