有没有谁做过DBGRID到Stringgrid的多项拖放!
这个可不可以实现!
可以讲一下怎么实现吗?
这个可不可以实现!
可以讲一下怎么实现吗?
解决方案 »
- 执行SQL的错误!!!(在线等.......)
- 有关XPMenu的问题
- 有关Treeview的Check值获取并更改的问题,急~~~
- 【公告】可用分捐赠功能已经恢复。没有可用分的朋友可以给版主发短消息。
- 请问旋转90度的函数Rotate90怎样用于image呢?
- 解决SQL+BDE有几种方法?(急+est)在线等!
- csdn helper如何实现xp风格的菜单的?
- 求下联:在VFP编程下调用DELPHI编程,它们之间如何传递变量值??
- 急!!!为何adotable1[j]中不能用参数j???
- 怎样动态的改变菜单的下拉项??
- 请问:VCL中有什么函数读取保存DFM中的PICTURE-DATA 显示出正确的IMAGE?
- 在delphi5.0下写的代码,我在delphi6.0里面运行,总是说null无效,怎么原因
2。
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in Shift then
TDBGrid(Sender).BeginDrag(False);
end;
3。
procedure TForm1.StringGrid1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
var
i,j: Integer;
begin
Accept := False;
if not (Source is TDBGrid) then
exit;
with DBGrid1.DataSource.DataSet do
for i := 0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
if StringGrid1.Row + 1 >= StringGrid1.RowCount then
StringGrid1.RowCount := StringGrid1.RowCount + 1;
//StringGrid1.Row := StringGrid1.Row + 1;
for j := 0 to FieldCount-1 do
StringGrid1.Cells[j,StringGrid1.Row + i] := Fields[j].AsString;
end;
Accept := true;
end;
谢谢 meiqingsong(阿飛)
这样的话只可以拖放一条!我不是想拖放一条!我是想可以选中多条然后进行拖放!
但是你没有发现如果你的鼠标当再击下的进行拖放的时候
又变回只选中当前的一条记录而已,其实那个拖放我内容我知道是如何去实现的,
只是在那个DBGRID的多项选择时拖放就不行了!就只是一条写过去了!!现在我想知道如何当我按下左键的时候它也不会只是选当前记录,而选中以前选择了的全部记录???我如何可以用左键来选中多项拖放过去呢???
2。按住ctrl 键, 用鼠标点选DBGrid 就可以选中多条, 再拖放就可以了
//楼上的代码
end ;