we have requirement filter contents of grid using values/inputs not embedded ui grid column headers. filtering must occur on values displayed or in other word have been "filtered" presentment. have been able filter on values don't have cellfilter specified specifying filter method using registerrowsprocessor.
$scope.externalfilterimpl = ( renderablerows ) => { if($scope.externalfiltervalues.name.length>0) { // case insensitive matching var matcher = new regexp($scope.externalfiltervalues.name, "i"); renderablerows.foreach( function( row ) { var match = false; debugger; if ( row.entity["id"].match(matcher) ){ //var value = $scope.gridapi.grid.getcelldisplayvalue(row, "id"); //if ( value.match(matcher) ){ match = true; } if ( !match ){ row.visible = false; } }); } return renderablerows; };
the code expects filter on display value (filtered value) column columndef field property of "id". columndef "id" appears follows:
{ field: "id", cellclass: "cellcontent", displayname: $translate.instant('tableheading.item'), enablecolumnmenu: false, enablehiding: false, suppressremovesort: true, filter: { placeholder: "enter name search" }, cellfilter: 'translateids:"itemids"', filtercellfiltered:true, sortcellfiltered:true, sort: { direction: uigridconstants.asc, priority: 0, }, celltemplate: `<div class="ui-grid-cell-contents"> {{col_field custom_filters}} </div>` }
any assistance appreciated.
Comments
Post a Comment