ich einen benutzerdefinierten Filter haben erstellen, die man aus den Kendo docs matches:Wie eine benutzerdefinierte (wiederverwendbar) Funktion für Filtermenüs
https://www.telerik.com/kendo-angular-ui/components/grid/data-operations/filtering/reusable-filter/
@Component({
selector: 'my-dropdown-filter',
template: `
<kendo-dropdownlist
[data]="data"
(valueChange)="onChange($event)"
[defaultItem]="defaultItem"
[value]="selectedValue"
[valuePrimitive]="true"
[textField]="textField"
[valueField]="valueField">
</kendo-dropdownlist>
`
})
export class DropDownListFilterComponent extends BaseFilterCellComponent {
public get selectedValue(): any {
const filter = this.filterByField(this.valueField);
return filter ? filter.value : null;
}
@Input() public filter: CompositeFilterDescriptor;
@Input() public data: any[];
@Input() public textField: string;
@Input() public valueField: string;
public get defaultItem(): any {
return {
[this.textField]: "Select item...",
[this.valueField]: null
};
}
constructor(filterService: FilterService) {
super(filterService);
}
public onChange(value: any): void {
this.applyFilter(
value === null ? // value of the default item
this.removeFilter(this.valueField) : // remove the filter
this.updateFilter({ // add a filter for the field with the value
field: this.valueField,
operator: "eq",
value: value
})
); // update the root filter
}
}
Es arbeitet mit „Reihe“ Artrasterfeld fein Filter. Wenn ich jedoch versuche, den Stil "Menü" zu ändern, wird der Filter immer angewendet, wenn das Dropdown-Menü geändert wird. Für jeden anderen Filter in diesem Stil müssen Sie auf die Schaltfläche "Filter" klicken. Wenn ich den Code in der Änderungsroutine zu:
ändern Dann funktioniert die Filterschaltfläche Funktion wie erwartet; aber es filtert das Gitter nicht wirklich. Ich bin erwartet gibt es eine Methode zu überschreiben, die aufgerufen wird, wenn "Filter" angeklickt wird, aber kein Glück hatte, es zu finden. Ich habe auch versucht, nur die Filtereigenschaft zu setzen (selbe Wirkung) oder applyFilter
verwendend, die gerade sofort wieder filtert.
Wie verwenden Sie benutzerdefinierte Filterkomponenten mit den "Menü" -Stil-Filtern in Kendo Angular Grids?
Ich verstehe das; aber ich habe immer noch das oben aufgeführte Problem (es funktioniert überhaupt nicht, wenn ich die Schritte nicht befolge, die du erwähnst). Ich habe diese Probe jedoch nicht gefunden. Ich werde es mit meinem Code vergleichen und sehen, was anders ist. Vielen Dank! – BradleyDotNET
Sieht so aus, als müssten Sie den Filterwechsel manuell durchführen ... es muss eine bessere Option geben. – BradleyDotNET