Kendo UI网格中的过滤列模板

时间:2019-03-04 23:21:47

标签: angular kendo-ui kendo-ui-angular2

In this plunk我有一个带有两列的Angular网格Kendo UI。第一列是模板,第二列是没有模板的字符串字段。

网格是可过滤的,但是只有第二列显示要输入过滤器的字段。第一列不是模板,而Kendo不知道要过滤什么。

模板实际上是具有以下格式的锚点:<a (click)="...">{{dataItem.ContactName}}</a>我需要按字段ContactName进行过滤。如何实现?

@Component({
    selector: 'my-app',
    template: `
      <kendo-grid #grid [kendoGridBinding]="gridData" 
            [filterable]="true" [resizable]="true">
        <kendo-grid-column title="Contact Name">
            <ng-template kendoGridCellTemplate let-dataItem>
                <a href="javascript:void(0)"
                    (click)="alert(dataItem.ContactName)">
                   {{dataItem.ContactName}}
                </a>
            </ng-template>
        </kendo-grid-column>
        <kendo-grid-column field="City" title="City"></kendo-grid-column>    
      </kendo-grid>   `
})
export class AppComponent {

    @ViewChild('grid') grid: GridBinding;

    public gridData: any[] = customers;

}

1 个答案:

答案 0 :(得分:1)

网格不知道如何/什么过滤,因为您在第一列中缺少field属性。

此属性可用时,列将显示过滤器输入。

<kendo-grid-column field="ContactName" title="Contact Name">
                   ~~~~~~~~~~~~~~~~~~
    <ng-template kendoGridCellTemplate let-dataItem>
        ...
    </ng-template>
</kendo-grid-column>

Updated Plunker