在Flex中将2个源拖放到1个目标,有可能吗?
问题描述:
我的问题很简单。假设我有2 List Controls
。 1个用户和1个门票。 (2来源)在Flex中将2个源拖放到1个目标,有可能吗?
而且我有DataGrid
(目标)。可以在前面提到的2列表中选择1个用户和1张票,并将&拖放到DataGrid
?
我知道这不是那么简单,因为他们会得到自动混合。如果它是可能的...我将不得不使用DragEnter
事件Datagrid
之类的东西将它们混合,创造我的数据提供程序。但我不知道如何从不同的来源同时拖放两个项目。这是可能的一个来源..但不知道如何与2来源做到这一点。
任何帮助将非常感激。
在此先感谢
答
是的,我认为这仍然是可能的。
你的选择是:
(点击)选择的用户的项,然后单击(选择)项目的门票。
无论您开始拖动哪个列表,您仍然可以使用dragEvent中的项目和列表中的选定项目填充数据网格。
//
boolUsers:Boolean;
On your datagrid:
private function dataGrid_dragDrop(evt:DragEvent) :void
{
// This will get the items from the list where you initiated the drag.
var objDrag:Object;
objDrag = evt.dragSource.dataForFormat("items");
// Depending on where the drag was initiated, get the items from the list.
var objList:Object;
if(boolUsers)
{
objList = listTickets.selectedItem;
}
else
{
objList = listUsers.selectedItem;
}
boolUsers = false;
}
而且你需要定义dragStart事件为您的列表
private function listUsers_dragStart(evt:DragEvent) :void
{
boolUsers = true;
}
1鼠标2项。我甚至不能想象它。我认为你需要重新思考你在做什么。去外面找到彼此相邻的两棵树。现在推他们。好。现在用一只手。你的手怎么能同时在两棵树上? – 2012-02-02 23:53:16
是的,我不认为这将是一个非常明确的互动,但我可以看到你在说什么。我认为从两个列表中选择项目后按下按钮会更清楚,然后在datagrids数据提供者中创建一个条目。 – shaunhusain 2012-02-03 01:46:55
我有这样的,有一个按钮,但我正在寻找是否有可能做到这一点......事实上,我有2个选择的项目在2列表中......我想有些方法是可能的,与DragManager的东西。 – 2012-02-03 15:47:19