Delphi中两个TcxGrid之间数据交互拖拽(200)

  • 主题发起人 主题发起人 xiecw
  • 开始时间 开始时间
X

xiecw

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个客需:需要在一个界面中,布置两个TcxGrid,同时这两个TcxGrid之间能够实现数据的互相拖动。既是,从TcxGrid1 中选中一条记录,拖放到TcxGrid2中,TcxGrid2中就增加一条记录,TcxGrid1记录不变;也可以从TcxGrid2中拖一条记录,放到TcxGrid1中,TcxGrid2中减少,TcxGrid1中不变现在的客需:就是需要这种直观效果。有点类似于windows内的两个文件夹A,B之间,互相拖动A,B内部的文件一样,有种直接拖动的直观性。各位大侠:请帮帮小弟,很着急,跪求各路英雄施教!跪求类似的代码或者是提供可行性思路!
 
你说出来的同时应该就实现了吧,有什么问题吗?cxGrid是支持拖动的,拖动时执行什么代码就是你在相应事件中写的了。增加记录不就是类似在DataSet加一条记录
 
to xianjun 我能实现双击实现数据互相增加和减少;但是拖动的操作,我不知道怎么去处理,我没有实现 拖动的这个过程。我都不知道拖动是用哪个事件去触发来操作。所以请大家给予帮助。
 
拖动其实就是两个dataset中记录的切换,在拖动时把记录复制过去,然后刷新的就行了,事件就用ondragover就行了。
 
说明数据增加减少你可以实现,那就简单了。拖动是现成的,不需要你去实现。只需要把控件的 DragMode属性设置为 dmAutomatic然后在OnDragOver里面判断那个项目是不是可以拖过来,可以就执行 Accept := True再在OnDragDrop里面做数据操作。
 
to xianjun,u908: 大侠,我再问一下;你给我的回答中,我按其操作没有成功!我把我的问题反馈一下: OnDragOver里面判断那个项目是不是可以拖过来,可以就执行 Accept := True,这个地方是在cxgrid内设置,还是在 cxGrid1DBTableView1内设置?后面的OnDragDrop同样面临这个问题。(我是2个cxgrid,每个TableView都只是连接单个表)请大侠给予指明,非常感谢!我也试试看看。。。。。。
 
两位大侠,谢谢你们的帮助和指点。
 
to xianjun然后在OnDragOver里面判断那个项目是不是可以拖过来,可以就执行 Accept := True在OnDragOver里面判断:怎么判断 源DataSet可以拖过来?在cxgrid 内判断还是在cxGrid1DBTableView1判断?大侠请给予指明,小弟是菜鸟,愚钝的很!拜谢了......
 
根据Sender等参数以及选中的记录来判断。
 
to xianjun我这情况:cxgrid1 cxGrid1DBTableView1 ; cxgrid2 , cxGrid2DBTableView1;每个cxgrid都有DataSet 和DataSource这两个之间需要互拖。我现在怎么OnDragOver里面判断?你是否有时间根据我提供的基本情况,写个类似的判断?同时,在OnDragDrop内部需要什么判断之类吗?大侠,请赐予一段类似的代码!小弟是菜鸟,愚钝的很!拜谢了......
 

Similar threads

回复
0
查看
804
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部