I apologize for the delay. We are currently working on porting QtitanDataGrid (and other components) to Qt5 and doing a pilot Grid project for Firemonkey (Delphi).
About filters. Grid view has a function GridFilter* GridViewBase::filter() const;
It's used to make a user specific filters for grid data. All you need is to create a filter condition (GridFilterValueCondition and GridFilterGroupCondition classes) programmatically (that you want) and install it in the filter object.
Furthermore you can get access to the history of filter's conditions using - GridFilterHistory* GridFilter::history() const;
GridFilter * flt = view->filter();
GridFilterGroupCondition * groupCond = new GridFilterGroupCondition(flt);
GridFilterValueCondition * valueCond = new GridFilterValueCondition(flt);
Qtitan::GridTableColumn* column = (Qtitan::GridTableColumn *)view->getColumnByModelColumnName("LIB./AGG.");
valueCond->setModelColumn(column->dataBinding()->column()); //For this column filer will be applyed - param is a index in your Qt model.
valueCond->setModelRole(Qt::DisplayRole); //By default is Qt:DisplayRole
valueCond->setValueOperator(GridFilterCondition::FilterEqual); //Operation for comparing
QString espressione = "LIBERO";
groupCond->addValue(valueCond); //Group can hold more than one value of condition.