Filter for column(s) in the Grid

Hi everyone,
Can you advise how to create a filer for column in the Grid like it is showed in the demo?

In grid headers you can use components. You can add another row, e.g. with appendHeaderRow() method. Then add text field to header cell in the column. You can e.g. set value change listener to textfield you just added. Finally in that value change event, change the filter used in that property / column.

Thanks for your advice,- I have implemented necessary filters for some columns.
I have one more question:
Also I would like to add a filter to the 1st “checkbox” column which is used for the row selection,- for an example button which will filter all checked\selected rows.
(Cell is showed on the screenshot)
I didn’t find the way how to get access to that HeaderCell.
Can you advice if this is possible?