sim*_*ser 1 filtering ag-grid angular ag-grid-angular
我有 agGrid,其中包含使用 refData 属性的列。它显示为“是”或“否”,但基础值为“1”或“0”。我想按数据过滤列,但按“是”或“否”过滤时没有给出任何结果。然而,当我输入基础数据(即 1 或 0)时,过滤器开始工作。
HTML 文件
<ag-grid-angular class="ag-theme-balham"
[rowData]="categoryRowData" [columnDefs]="categoryColDef" [domLayout]="domLayout"
(gridReady)="onGridReady($event)">
</ag-grid-angular>
Run Code Online (Sandbox Code Playgroud)
TS文件
export class CategoryComponent implements OnInit{
private domLayout;
private objCategoryEditor = {};
categoryColDef ;
constructor()
{
this.getCategoryMapping();
this.createCategoryColDefinition();
}
ngOnInit() {
this.domLayout = "autoHeight";
}
onGridReady(params: any) {
params.api.sizeColumnsToFit();
params.api.resetRowHeights();
}
createCategoryColDefinition() {
this.categoryColDef = [
{
headerName: 'Is Subcategory', field: 'IsSubcategoryText', resizable: true,filter:true,
editable: function (params: any) {
return true;
},
cellEditor: "agSelectCellEditor",
cellEditorParams: {
values: this.extractValues(this.objCategoryEditor),
},
refData: this.objCategoryEditor,
}
]}
getCategoryMapping()
{
this.objCategoryEditor["0"] = "No";
this.objCategoryEditor["1"] = "Yes";
this.createCategoryColDefinition();
}
extractValues(mappings) {
return Object.keys(mappings);
}
}
Run Code Online (Sandbox Code Playgroud)
当按“否”过滤时,它不会返回任何行:-
当按 0 过滤时,它返回行:-
如何自定义过滤,以便在按“是”或“否”过滤时开始返回行?请帮忙解决这个问题。
我会使用filterValueGetter像这样的列定义 -
filterValueGetter: this.customfilterValueGetter
Run Code Online (Sandbox Code Playgroud)
这是一个简单的实现customfilterValueGetter
customfilterValueGetter(params) {
if(params.data) {
return this.objCategoryEditor[params.data.IsSubcategoryText];
}
}
Run Code Online (Sandbox Code Playgroud)
根据文档 -
filterValueGetter(params)
函数或表达式。获取用于过滤目的的值。
普朗克在这里。查看零售价栏
| 归档时间: |
|
| 查看次数: |
3909 次 |
| 最近记录: |