Ver Mensaje Individual
  #5  
Antiguo 18-05-2017
ronalg ronalg is offline
Miembro
 
Registrado: may 2003
Ubicación: Sucre - Bolivia
Posts: 68
Reputación: 21
ronalg Va por buen camino
Gracias Newton

Cita:
Empezado por newtron Ver Mensaje
Igual suelto una tontería pero yo tengo entendido que en un Dbgrid se plasma el contenido bien de un TTable o de un Query por lo que igual deberías de pensar en cambiar el orden en la fuente de datos, cosa que se reflejará en el Dbgrid, en vez de manipular los datos del Dbgrid directamente.

Saludos
te cuento que eso es lo que hacen:
Código Delphi [-]
    Function Modificar_Order_SQL(Consulta:string;new_campo_ordenar:string):string;
    Procedure Reordenar_consulta(Consulta: TIBCustomDataSet; Campo_ordenar:String);

Pero como esta enlazado a un TDataSource puede tener acceso a un origen de datos, para mi interés TIBTable, TIBDataSet y TIBQuery; o sea puede la grilla modificar la ordenacion los datos en estos componentes; Ya me es posible ordenar cualquier TDBGrid conectado a cualquiera de estos origenes de datos, pero tengo las funciones en una unidad que integro a cada proyecto y en el evento OnTitleClick pongo llamada a dichas funciones:

Código Delphi [-]
procedure TDBGrid_ORDER.TitleClick(Column: TColumn);
begin
     //if Assigned(FOnTitleClick) then FOnTitleClick(Column);

     IF (column.Field.DataSet is TIBTable) then
     begin
          messagedlg('La ordenación por ahora no funciona con tablas',mtinformation,[mbok],0);
     end
     else
     begin
          reordenar_consulta((column.Field.Dataset as TIbCustomDataSet), Column.Field.FieldName);
     end;

     if Assigned(FOnTitleClick) then FOnTitleClick(Column);
end;

Pero si podemos crear un componente TIBGRID_SORT o TIBGRID_ORD que ya incluya dichas funciones de ordenación nos ahorramos el tiempo de escribir codigo e incluir unidades en cada proyecto, pero mas que el tiempo ahorrado es por el reto de hacerlo.
__________________
Saludos desde Sucre - Bolivia
"Si te lo puedes imaginar lo
puedes resolver" Pyriel
Responder Con Cita