我正在使用 cell_renderer 来定义我的单元格,如下所示:
var cell_renderer = function(params) {
var element = "";
var values = params.value;
angular.forEach(values, function(each_param){
element += '<a href="#/workunit/' + each_param.id + '" target="_blank">' + each_param.id +
'<span class="text-danger text-bold">'+
'<span class="" title="' + inactive_message +
'">' + inactive_flag + ' </span>' +
'<span class="" title="' + misconfigured_message +
'"> ' +misconfigured_flag + '</span>'+
'</span></a><br>';
})
return element;
};
Run Code Online (Sandbox Code Playgroud)
我的列定义是这样的:
var testObject = {};
testObject.headerName = "my header";
testObject.field = each_branch;
testObject.width = 200;
testObject.cellClassRules = cell_class_rules;
testObject.cellRenderer = cell_renderer;
columnDefs.push(testObject);
Run Code Online (Sandbox Code Playgroud)
这里 testObject.field = each_branch ,是一个 json 对象。
因此,内置搜索功能在 ag-grid 中不起作用。任何人都可以在这里帮助我。
默认情况下,Ag-grid 中的 textFormatter 返回字符串表示形式,如果您包含 textFormatter 并在 textCustomComparator 中返回相同的对象,您将获得 valueGetter 中的对象:
filter: "agTextColumnFilter",
filterParams: {
textCustomComparator: function (filter, value, filterText) {
//value is the object from valueGetter
},
textFormatter: function(r) {
//this is the solution
return r;
},
valueGetter: function getter(params) {
return {
...
};
}
}
Run Code Online (Sandbox Code Playgroud)
The solution is to provide valueGetter
in filter params.
Say for example you have { name: 'Some Name', id: 1 }
. In that case you want to filter by the name. So:
{
filter: 'agTextColumnFilter',
filterParams: {
valueGetter: params => {
return params.data.name
}
}
}
Run Code Online (Sandbox Code Playgroud)
尝试在您的列上设置文本过滤器属性:
testObject.filter:'text',
testObject.filterParams:{
...
}
Run Code Online (Sandbox Code Playgroud)
然后在filterParams对象中实现textCustomComparator函数:
https://www.ag-grid.com/javascript-grid-filter-text/#gsc.tab=0
归档时间: |
|
查看次数: |
4755 次 |
最近记录: |