Arsip: Drag & Drop DBGRID

 
user image
more 17 years ago

Brams

saya duah nyari drag & drop tapi yang DBGRID satu ke dbgrid dua belum ketemu ? ada contoh kode ? atau links? terimakasih
user image
more 17 years ago

zieborg

linknya ya delphi help, sudah sangat mencukupi :) emang 2 grid tesebut field2nya identik ngga? kalo identik jauh lebih mudah... pelejari event OnDragOver dan OnDragDrop, cukup disitu aja kok kodingnya
user image
more 17 years ago

Brams

@zieborg: linknya ya delphi help, sudah sangat mencukupi :)
kalo delphi help tahu semua ....kalo dibantukan lebih cepet maaf, makasih
user image
more 17 years ago

zieborg

xii...xii...@Brams tiap posting minta kode... misal ada 2 dbgrid, dbgrid1 sbg source, dbgrid2 sbg destination, biar cepet anggap 2 grid tsb fieldnya identik, jadi semacam copy aja :

procedure TForm1.DBGrid2DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  accept := source is TDBgrid;
end;
DBGrid1 bisa set dragmode property ke dmAutomatic atau pake kode berikut :

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
  dbgrid1.BeginDrag(true);
end;

procedure TForm1.DBGrid2DragDrop(Sender, Source: TObject; X, Y: Integer);
var
  i : integer;
begin
  dbgrid2.DataSource.DataSet.Append ;  //misal action dari drop adalah append otomatis
  for i := 0 to dbgrid1.FieldCount - 1 do
    dbgrid2.DataSource.DataSet.Fields[i].value := dbgrid1.DataSource.DataSet.Fields[i].value;
  dbgrid2.SetFocus ;  //bisa langsung post kalau mau
end;
user image
more 17 years ago

maulaku

nambahin aja

//DBGrid1MouseMove
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  Cell: TGridCoord;
begin
  // BeginDrag
  if (csLButtonDown in DBGrid1.ControlState) then
  begin
    Cell := DBGrid1.MouseCoord(X, Y);
    FieldIndex := Cell.X - 1;
    DBGrid1.BeginDrag(False);
  end;
end;

// DBGrid2DragDrop
procedure TForm1.DBGrid2DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  With Query1 do
    begin
      if active=true then close;
      SQL.Clear;
      SQL.add('select * from departemen1 where kddep=:kd');
      prepared;
      parameters[0].Value :=DBGrid1.Fields[0].AsString;
      Open;
      if recordcount=1 then  //mengecek data sudah ada apa belum
      begin
       showmessage('Data Sudah Ada !!!..');
       Table2.Refresh;
       exit;
      end else   // kalo tidak ada insert
       Table2.Insert;
       Table2.FieldByName('kddep').AsString:=DBGrid1.Fields[0].AsString;
       Table2.FieldByName('nmdep').AsString:=DBGrid1.Fields[1].AsString;
       Table2.FieldByName('ketdep').AsString:=DBGrid1.Fields[2].AsString;
       Table2.Refresh;
    end;
end;

//DBGrid2DragOver
procedure TForm1.DBGrid2DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept := True;
end;
user image
more 17 years ago

Brams

@zieborg: xii...xii...@Brams tiap posting minta kode...
xiii jangan pelit2 om.... makasih semuanya yang udah bantu
more ...
  • Pages:
  • 1
Share to

AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now: https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com