import { render } from 'react-dom';
import './index.css';
import * as React from 'react';
import { GridComponent, ColumnsDirective,parentsUntil, ColumnDirective, Resize, Group, Sort, ColumnMenu, Filter, Page, Inject } from '@syncfusion/ej2-react-grids';
export class ColumnMenuSample extends SampleBase {
. . .
dataBound (args) {
let headerCells = this.gridInstance.getHeaderContent().querySelectorAll('.e-headercell');
if (headerCells.length) {
for (let i=0;i<headerCells.length; i++) {
let filtered = headerCells[i].querySelector('.e-filtered');
if (filtered) {
// here you can get the headerCell element which is filtered
let filteredHeaderCell = parentsUntil(headerCells[i], 'e-headercell');
filteredHeaderCell.querySelector('.e-headertext').classList.add('e-colfiltered');
}
else {
let headerCell = parentsUntil(headerCells[i], 'e-headercell');
headerCell.querySelector('.e-headertext').classList.remove('e-colfiltered');
}
}
}
}
render() {
return (<div className='control-pane'>
<div className='control-section'>
<GridComponent id='gridcomp' dataBound={this.dataBound.bind(this)} dataSource={orderDetails} allowPaging={true}
ref={grid=>this.gridInstance=grid} allowSorting={true} allowFiltering={true} allowMultiSorting={true} showColumnMenu={true}
groupSettings={this.groupOptions} filterSettings={this.filterSettings}>
<ColumnsDirective>
. . .
</ColumnsDirective>
<Inject services={[Resize, Group, Sort, ColumnMenu, Filter, Page]}/>
</GridComponent>
</div>
</div>);
}
} |
.e-colfiltered {
color: #317ab9;
} |