Voici ce que j'ai de mieux a date..s Je ne peux pas créer des indexes a la vole car mon Grid dataset est une query.
procedure TFormCurrentCie.GridOperationTitleClick(Column: TColumn);
begin
GridOperation.Columns.Items[flagColonne].Title.Font.Color:=clWindowText;
case Column.ID of
1: begin
InitGridColumn(GridOperation,'Bank');
Column.title.Font.Color:=clBlue;
flagColonne:=1;
end;
2: begin
InitGridColumn(GridOperation,'LaDate');
Column.title.Font.Color:=clBlue;
flagColonne:=2;
end;
3: InitGridColumn(GridOperation,'Amount');
end;
end;
procedure TFormCurrentCie.InitGridColumn(leGrid: Tdbgrid;orderBy: string);
var dynaQuery,condition1,order: string;
begin
dynaQuery:='Select NoTransac,Bank,LaDate,NomSupplier,Dept,Status,NoDisbursement,Amount,GL ';
dynaQuery:=dynaQuery+'From Tdisbursements,Tsupplier WHERE %s AND Tdisbursements.NoCie='+UnitMain.tabCurrentCie[0];
dynaQuery:=dynaQuery+' ORDER BY %s';
condition1:='Tdisbursements.NoSupplier=Tsupplier.NoSupplier';
order:=orderBy;
with Qdyn do
begin
if active then close;
sql.Clear;
sql.Text:=format(DynaQuery,[condition1,order]);
end;
Qdyn.Active:=True;
with Qdyn.Fields do
begin
leGrid.Columns[0].FieldName:=Fields[0].DisplayName;
leGrid.Columns[1].FieldName:=Fields[1].DisplayName;
leGrid.Columns[2].FieldName:=Fields[2].DisplayName;
leGrid.Columns[3].FieldName:=Fields[3].DisplayName;
leGrid.Columns[4].FieldName:=Fields[4].DisplayName;
leGrid.Columns[5].FieldName:=Fields[5].DisplayName;
leGrid.Columns[6].FieldName:=Fields[6].DisplayName;
leGrid.Columns[7].FieldName:=Fields[7].DisplayName;
leGrid.Columns[8].FieldName:=Fields[8].DisplayName;
end;
end;
SI QUELQU UN A QUELQUE CHOSE DE MIEUX CAR COMME VOUS LE CONSTATER... LE GRID AFFICHE UNE REQUETE SUR DEUX TABLES.
MERCI
E_____P
Enjoy Programmation
Jeff
-------------------------------
Réponse au message :
-------------------------------
Je viens de publier un code-source qui devrait amplement répondre à ta première question :
création d'indexes à la volée.
May Delphi be with you.Delphi advanced-------------------------------
Réponse au message :
-------------------------------
Bonjour Programmeur(se) de Delphi,
Je voudrais savoir s'il est possible de trier un TDBGrid seulement en cliquant sur le title de la column. Aussi, est-t-il possible de desable le scroll de la souris sur le grid...
Merci
E_____P
Enjoy Programmation
Jeff