Bonjour,

Je souhaiterai mettre en place un sytème de Drag & Drop dans un même DBGrid pour modifier l'ordre des pièces.
Par exemple, si j'ai 2 lignes et que je mets la 1ère à la place de la 2ème, je souhaiterai échanger leurs id.
J'avais trouvé un exemple mais je bloque à la fin, je pense il faudrait que je fasse un update mais il faudrait que je fasse un refresh aussi enfin voilà le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TF_Operation.CRDB_PiecesDragDrop(Sender, Source: TObject; X,
  Y: Integer);
var gc     : TGridCoord;
    ordre  : Integer;
begin
  gc := CRDB_Pieces.MouseCoord(X,Y);
  if (gc.X > 0) AND (gc.Y > 0) then
  begin
    if DM_Operation.Q_ChargerPiecesOpe.RecordCount = 0 then exit;
 
    ordre := DM_Operation.Q_ChargerPiecesOpePIE_ID.AsInteger;
   { with CRDB_Pieces do
    begin
      DataSource.DataSet.MoveBy (gc.Y - Row);
      DataSource.DataSet.Edit;
      Columns.Items[-1 + gc.X].Field.AsInteger := ordre;
    end;  }
  end;
end;
Merci d'avance pour votre aide