anchor.diff:      aFilter.DataType:= fdtInteger;
     end
     else
  -  if FValueType = efFloat then
  +  if (FValueType = efFloat) then
     begin
       if VarIsFloat(FCurrentValue) then
         aFilter.Value := FCurrentValue
       else
         aFilter.Value := null;
       aFilter.DataType:= fdtFloat;
  +  end
  +  else if (FValueType = efDateTime) then
  +  begin
  +    if VarIsFloat(FCurrentValue) then
  +      aFilter.Value := FCurrentValue
  +    else
  +      aFilter.Value := null;
  +    aFilter.DataType:= fdtDateTime;
  +  end
  +  else if (FValueType = efDate) then
  +  begin
  +    if VarIsOrdinal(FCurrentValue) then
  +      aFilter.Value := FCurrentValue
  +    else
  +      aFilter.Value := null;
  +    aFilter.DataType:= fdtDate;
     end
     else
       aFilter.Value := FCurrentValue;
  
positive.code:     procedure Clear; override;
    end;
  
    TmEditFilterValueType = (efString, efUppercaseString, efInteger, efFloat, efUniqueIdentifier);
  
    { TmEditFilterConditionPanel }
  
  
negative.code:     FCurrentValue : variant;
      FLabel : TLabel;
      FEdit : TEditButton;
      FGarbage : TObjectList;
      FValues : TStringList;
      FValueType : TmComboCheckLookupFilterValueType;
      procedure OnShowValuesList (Sender: TObject);
    public
      constructor Create(TheOwner: TComponent); override;
  