Delphi-Quellcode:
function TcxGridFilterRow.GetOperator(Index: Integer; AValue: Variant): TcxFilterOperatorKind;
var
AFilterCriteriaItem: TcxFilterCriteriaItem;
begin
if GridView.FilterRow.OperatorCustomization then
begin
....
end
else
Result := GetDefaultFilterOperatorKind(AValue, True);
end;
function TcxGridFilterRow.GetDefaultFilterOperatorKind(const AValue: Variant; ACheckMask: Boolean): TcxFilterOperatorKind;
function HasMask(const AValue: string): Boolean;
begin
Result :=
(Pos(DataController.Filter.PercentWildcard, AValue) <> 0) or
(Pos(DataController.Filter.UnderscoreWildcard, AValue) <> 0);
end;
begin
if VarIsStr(AValue) and (not ACheckMask or HasMask(AValue)) then
Result := foLike
else
Result := foEqual;
end;
In den Sourcen von DevExpress sieht man, dass es nur funktioniert, wenn GridView.FilterRow.OperatorCustomization True ist.
Man muss also mit den Symbolen in der FilterRow leben (siehe Anhang) oder auf Contains verzichten.
Standard bei Text ist dann foLike...
Frank