I have an idea where the problem could come from, and its dependent on our own implementation. My column is bound to an attribute "DynamicAttributes" containing a dictionary with key/value pairs.
In our overwritten GridViewDecimalColumn we store the key of the dictionary value we would like to display in the grid.
And we have overwritten the property "Value" of the GridDataCellElement like that.
public override object Value
IDynamicColumn column = base.DataColumnInfo as IDynamicColumn;
if (column != null)
// we read the dictionary key name from the column definition
string attributeName = column.AttributeName;
,object> entries = (Dictionary<
base.Value = value;
Our grid has now two columns, both bound to the property "DynamicAttributes". The first column is is inheriting from GridViewDecimalColumn (because the vaule in the dictionary is a number) and the second column is inheriting from GridViewTextBoxColumn (because the value in the dictionary is a string). What I have already seen is that if you apply a filter to one row, the filter text appears in the filter box of the other column. I think because they are both bound to the same property, the system implies that theyshouild be treated the same.
And maybe it happens the same with the default filter. As the second column ist the textbox column, the default filter ist "LIKE", and so the LIKE-filter will be set for both columns.
We overcome the problem by overwriting the property FilterDescriptor for each column, and initialise the FilterOperator on creation of the column. The FilterDescriptor is now a private property of the column, and it has nothing to do with the FilterDescriptor of the base class.
Further, we we had to overwrite PerformFiltering() of the grid as described in your help. It looks more or less stable at the moment, but not sure if everything will work as expected. It would be nice if the filters would not get applied to all colums with the same binding attribute, but I guess other solutions are dependent on that.