Delphi - Ordenar datos del DBGrid con GroupBox

 
Vista:

Ordenar datos del DBGrid con GroupBox

Publicado por ANNY (10 intervenciones) el 22/06/2012 20:16:58
Hola a todos:

Tengo una consulta cliente; tengo un DBGrid, donde se cargan los datos del cliente que estoy consultando; tengo un GroupBox donde tiene 3 opciones (código, nombre, apellido).
Mi pregunta es: ¿Cómo ordeno los datos del DBGrid?, utilizado el componente GroupBox, ósea si le doy a la opción nombre, que se ordene por nombre, si le doy a la opción apellidos, que se ordene por apellidos y así suevamente.

Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ordenar datos del DBGrid con GroupBox

Publicado por ANNY (10 intervenciones) el 23/06/2012 00:34:28
El codigo es este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
procedure TFrmConsultaCliente.CboBuscarChange(Sender: TObject);
var sel:string;
Num:longint;
begin
if trim(cboBuscar.Text) = '' then
   begin
        showMessage('Debe elegir una opción de búsqueda');
        cboBuscar.SetFocus;
        exit;
   end;
  If cboBuscar.Text = 'CODIGO' then
     Begin
          sel:= 'Select * from Tbla_Cliente where fich_cli like "%'+edtBuscar.Text +'%"';
     end
    Else
 
  If cboBuscar.Text = 'NOMBRE' then
     Begin
          sel:= 'Select * from Tbla_Cliente where nom_cli like "%'+edtBuscar.Text +'%"';
     end
    Else
       If cboBuscar.Text = 'APELLIDO' then
          begin
              sel:= 'Select * from Tbla_Cliente  where ape_cli like "%'+edtBuscar.Text+'%"';
          end
      Else
          If cboBuscar.Text = 'DIRECCION' then
             begin
                 sel:= 'Select * from Tbla_Cliente where dir_cli like "%'+edtBuscar.Text+'%"';
              End;
 
 EdtBuscar.SetFocus;
 qryConsultaCliente.Close;
 qryConsultaCliente.SQL.Clear;
 qryConsultaCliente.SQL.Add( sel);
 qryConsultaCliente.Open;
 
 //Calculando el Total Cliente:
  EdtTotalPaciente.Text:= ForMatFloat(',0',qryConsultaCliente.RecordCount);
 //Calculando el Total Paciente:
  Num:= StrToInt(EdtTotalPaciente.Text);
  if Num<=0 then
      begin
           BtnImprimir.Enabled:=false;
        end
  Else
      begin
          BtnImprimir.Enabled:=true;
      end;
 
 
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

Ordenar datos del DBGrid con GroupBox

Publicado por E.T. (1244 intervenciones) el 23/06/2012 03:03:36
ya casi lo tenias, solo que en lugar de usar un groupbox, usé un radiogroup, es mas sencillo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
procedure TForm1.Button1Click(Sender: TObject);
var sel:string;
    Num:longint;
begin
  if trim(cboBuscar.Text) = '' then begin
    showMessage('Debe elegir una opción de búsqueda');
    cboBuscar.SetFocus;
    exit;
  end;
  If cboBuscar.Text = 'CODIGO' then Begin
    sel:= 'Select * from Tbla_Cliente where fich_cli like "%'+edtBuscar.Text +'%"';
  end Else If cboBuscar.Text = 'NOMBRE' then Begin
    sel:= 'Select * from Tbla_Cliente where nom_cli like "%'+edtBuscar.Text +'%"';
  end Else If cboBuscar.Text = 'APELLIDO' then begin
    sel:= 'Select * from Tbla_Cliente where ape_cli like "%'+edtBuscar.Text+'%"';
  end Else If cboBuscar.Text = 'DIRECCION' then begin
    sel:= 'Select * from Tbla_Cliente where dir_cli like "%'+edtBuscar.Text+'%"';
  End;
 
  case RadioGroup1.ItemIndex of
    1:Sel := sel + ' order by codigo';
    2:Sel := sel + ' order by nombre';
    3:Sel := sel + ' order by apellido';
  end;
 
  EdtBuscar.SetFocus;
  qryConsultaCliente.Close;
  qryConsultaCliente.SQL.Clear;
  qryConsultaCliente.SQL.Add( sel);
  qryConsultaCliente.Open;
 
  //Calculando el Total Cliente:
  EdtTotalPaciente.Text:= ForMatFloat(',0',qryConsultaCliente.RecordCount);
  //Calculando el Total Paciente:
  Num:= StrToInt(EdtTotalPaciente.Text);
  if Num<=0 then begin
    BtnImprimir.Enabled:=false;
  end Else begin
    BtnImprimir.Enabled:=true;
  end;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ordenar datos del DBGrid con GroupBox

Publicado por ANNY (10 intervenciones) el 24/06/2012 15:28:34
Un millon de gracias (Caso Resuelto)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar