Prevent the drag possibility for some items in a dragEnabled Flex list
If you have a Flex list (List, DataGrid, TileList or whatever) that is drag enabled, you don’t always want that each item of the list is draggable.
It should be very handy if Flex offers some kind of filter function that decides which items are draggable and which aren’t. Unfortunately such a function is not available yet.
The easiest way to prevent the dragging at this time is to listen to the dragStart event and prevent the default behavior when the item is not allowed to be dragged.
E.g. the list:
<mx:TileList id="userList"
dragStart="onDragStart(event)"
dragEnabled="true"
dataProvider="{users}"
/>
dragStart="onDragStart(event)"
dragEnabled="true"
dataProvider="{users}"
/>
E.g. the onDragStart function
private function onDragStart(event:DragEvent):void {
var selectedUser:User = User(userList.selectedItem);
if (selectedUser.age < 18) {
event.preventDefault();
}
}
var selectedUser:User = User(userList.selectedItem);
if (selectedUser.age < 18) {
event.preventDefault();
}
}
This is related to:
- Flex list some items draggable
- Flex list disable drag items
- Flex list drag filterFunction

Recent Comments