Ver Mensaje Individual
  #4  
Antiguo 24-08-2017
tiqui_loquito tiqui_loquito is offline
Miembro
 
Registrado: oct 2013
Posts: 56
Reputación: 11
tiqui_loquito Va por buen camino
Esto es lo que estoy realizando

Cuando se escoge el filtro llama a la función FilterSelect la cual esta en el advGrid.

Estoy usando un advStrinGrid, una DataSetClient asociado a SetProvider

Código Delphi [-]
procedure TFrmGrilla4505.AdvStgGrid4505FilterSelect(Sender: TObject;
  Column, ItemIndex: Integer; FriendlyName: String;
  var FilterCondition: String);
begin

  if (FilterCondition = 'Clear') or (FilterCondition = '')  then //Si se selecciona clear si le quita el color a la columna
  begin
    FilterCondition := '';
    AdvStgGrid4505.Colors[Column,0] := clNone;
  end
  else//Si se escoge alguna opción le coloca el color verde a la columna
  begin
    FpTemporal.Filtered := False;
    FpTemporal.Tag      := FpTemporal.RecordCount;
    AdvStgGrid4505.Colors[Column,0] := clGreen;
    FpTemporal.Filtered := True;
  end;

end;

Aquí me realiza correctamente el filtrado (escojo F o M). Hay 7 registros, si se escoge F me trae 4 registros, si se escoge M trae 3.

Pero a la hora de realizar

Código Delphi [-]
procedure TFrmGrilla4505.Button1Click(Sender: TObject);
begin
   FpTemporal.Filtered := True;
  ShowMessage(Format('Total:%d, Filtrados:%d, Ocultos:%d',
    [FpTemporal.Tag, FpTemporal.RecordCount,
     FpTemporal.Tag-FpTemporal.RecordCount]));
end;

Me muestra total 7, Filtrados 7, ocultos 0

Adjunto imagenes


Espero haberme dado a entender
Imágenes Adjuntas
Tipo de Archivo: pdf Doc1.pdf (192,9 KB, 3 visitas)
Responder Con Cita