Delphi下DBGrid拖放问题
2013-05-01 15:50
155 查看
DBGrid的拖放问题:设为dmAutomatic,则点击无法移动记录,设为dmManual则在记录上点击时无法响应MouseDown事件,请问哪位大侠能解决
---------------------------------------------------------------
这是我在网上找的代码,经测试非常不错:
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;
---------------------------------------------------------------
这是我在网上找的代码,经测试非常不错:
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;
相关文章推荐
- Delphi下DBGrid拖放问题
- 解决delphi的 dbgrid在读取access文本型字段显示TWideMemoField的问题
- Devexpress V40 在Delphi2009中 DBGrid 使用Search功能时文本选择从右至左问题解决
- Delphi DbGrid上色问题
- 黄聪:Delphi Dbgrid滚轮问题解决
- delphi DBGRID 刷新定位问题 [问题点数:0分]
- Delphi关于DBGrid选中行自动变色的问题
- 彻底解决Delphi的DBGrid控件鼠标滚轮问题(转)
- 解决delphi关于dbgrid和webbrowser的焦点冲突的问题
- 解决delphi的 dbgrid在读取access文本型字段显示TWideMemoField的问题
- 问题-[Delphi]在对GRID设置单击为编辑时,其他GRID可以,但有一个GRID不行?
- delphi base64编码函数EncodeString的问题
- delphi2010正式版误装delphi 2010 update1后不能正常进入问题的解决方法
- delphi 一个关于xml文件导入数据库的问题
- Delphi中使用TXMLDocument控件应注意的问题 转
- Delphi的TListView控件拖放选定行操作
- Delphi THTTPRIO 控件调用webservice超时问题
- 有关delphi气泡提示问题
- delphi调用vc编写的DLL应注意的问题
- 使用Delphi开发多媒体播放音轨问题的FAQ(原创)