首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用angular2和typescript搜索数据的agGrid

使用angular2和typescript搜索数据的agGrid
EN

Stack Overflow用户
提问于 2016-04-01 00:58:51
回答 2查看 4.3K关注 0票数 5

如何在agGrid组件中设置筛选。我看到了一个来自agGrid的示例,但它是用javascript编写的。https://www.ag-grid.com/angular-grid-filtering/index.php

但是看起来我不能使用下面的ts代码来工作。

agGrid.component.ts

代码语言:javascript
复制
import {Component} from 'angular2/core';
import {AgGridNg2} from 'ag-grid-ng2/main';
import {GridOptions} from 'ag-grid/main';

import 'ag-grid-enterprise/main';

@Component({
    selector: 'app',
    templateUrl: 'app/partials/agGrid/agGrid.html',
    directives: [AgGridNg2]
})
export class AgGridComponent {

    columnDefs = [
        { headerName: "Contact Name", field: "make" },
        { headerName: "Company Name", field: "model" },
        {
            headerName: "Last Event",
            field: "price",
            cellClass: 'rightJustify',
            cellRenderer: function (params: any) {
                return '$' + params.value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); //thanks http://stackoverflow.com/users/28324/elias-zamaria
            }
        },
        { headerName: "Contact Email", field: "model" },
        { headerName: "Work Phone", field: "model" }
    ];
    // put data directly onto the controller
    rowData = [
        { make: "Toyota", model: "Celica", price: 35000 },
        { make: "Ford", model: "Mondeo", price: 32000 },
        { make: "Porsche", model: "Boxter", price: 72000 }
    ];

    gridOptions = {
        columnDefs: this.columnDefs,
        rowData: null,
        enableFilter: true
    };



    values='';
    onKey(event:any) {
        this.values = event.target.value;
        this.gridOptions.columnDefs.setQuickFilter(this.values);
    }

    searchValue='';

}

grid.html

代码语言:javascript
复制
<input placeholder="Filter..." type="text"
	   [value]="searchValue"
	   (input)="searchValue = $event.target.value"
/>

<ag-grid-ng2
		class="ag-fresh"
		enable-sorting
		enable-filter
		style="height: 300px" 
		[gridOptions]="gridOptions" 
		(cellClicked)="onCellClicked()" 
		[columnDefs]="columnDefs"
		[rowData] = "rowData"> 
</ag-grid-ng2>

EN

回答 2

Stack Overflow用户

发布于 2019-03-26 23:09:53

将ngModel变量绑定到"quickFilterText“属性。"quickFilterText“应该在将来改成"quickFilter”。

代码语言:javascript
复制
<input type="text" 
    [(ngModel)]="searchValue" placeholder="quick filter..." /> 
<ag-grid-angular  
    class="data-grid ag-theme-balham"
    [rowData]="rowData | async" 
    [columnDefs]="columnDefs"
    [defaultColDef]="defaultColDef"
    [quickFilterText]="searchValue"
    >
</ag-grid-angular>
票数 6
EN

Stack Overflow用户

发布于 2017-03-14 00:43:20

我猜你已经解决了这个问题,但是对于那些正在寻找的人来说,你可以将你的输入框双向绑定到你代码中的变量。

您的HTML将如下所示:

代码语言:javascript
复制
<input type="text" (keyup)="onQuickFilterChanged()" 
    [(ngModel)]="quickSearchValue" placeholder="quick filter..." /> 

你的TS代码是这样的:

代码语言:javascript
复制
quickSearchValue: string = '';

private onQuickFilterChanged() {
    this.gridOptions.api.setQuickFilter(this.quickSearchValue);
}

希望这能有所帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36339414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档