1。我想让dbgrid成为被拖拉的对象
2。set dbgrid.dragMode=dmAutoMatic
3。发现无法选择该Dbgrid的记录了?如何解决!4。只用DBgird,暂不考虑3rd Part Comp!

解决方案 »

  1.   

    好象没有,用DBGridEH算了
      

  2.   

    我这有个DBGrid拖入TreeView的例子,自己看看吧:
    procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
      if ssLeft in Shift then
        TDBGrid(Sender).BeginDrag(False);
    end;procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    begin
      Accept := Source is TDBGrid;
    end;procedure TForm1.TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
    var
      AnItem: TTreeNode;
      I: Integer;
      S: String;
    begin
      with Sender as TTreeView do
      begin
        AnItem := GetNodeAt(X, Y);
        with Source as TDBGrid do
        begin
          S := '';
          for I := 0 to Columns.Count - 1 do
            S := S + Columns[I].Field.AsString + ' ';
        end;
        Items.AddChild(AnItem, S);
        AnItem.Expand(True);
      end;
    end;