Hi Telerik,
I can't seem to find the DropPosition when determining wheter a drop is allowed? Am I overlooking something? I can see the relative position and I guess I could calculate the relative position, but since the curson changes depending on drop position, I'm thinking the information is there somewhere...
Thnaks for any help,
Anders, Denmark
I can't seem to find the DropPosition when determining wheter a drop is allowed? Am I overlooking something? I can see the relative position and I guess I could calculate the relative position, but since the curson changes depending on drop position, I'm thinking the information is there somewhere...
Thnaks for any help,
Anders, Denmark
6 Answers, 1 is accepted
0
Accepted
Hello Anders,
Please let us know if this helps you or not. All the best,
Petar Mladenov
the Telerik team
You can first access the destination ( TreeViewItem or TreeView) and get the position like so:
var item = e.Options.Destination
as
RadTreeViewItem;
if
(item.DropPosition != DropPosition.Inside)
e.QueryResult =
false
;
Petar Mladenov
the Telerik team
Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>
0
Anders
Top achievements
Rank 1
answered on 03 Oct 2011, 08:12 AM
Thank you - it works like a charm!
0
Robert
Top achievements
Rank 1
answered on 05 Apr 2012, 12:34 AM
Hi,
The sample you gave is the same as the documentation and it works well.
However, how can I stop a "Group" node from being dropped inside another "Group" node?
Thank you for your time.
The sample you gave is the same as the documentation and it works well.
However, how can I stop a "Group" node from being dropped inside another "Group" node?
Thank you for your time.
0
Robert
Top achievements
Rank 1
answered on 05 Apr 2012, 01:41 AM
Ok, well I worked this out:
Not sure if this is the best way to do it, but it works. If there's any better advice then I'm all ears (or eyes in this case).
Now I need to figure out the null exception being thrown if item is being dragged into white space of TreeView.
private
void
OnDropInsideTreeViewDropQuery(
object
sender, DragDropQueryEventArgs e)
{
//Drop Destination
var treeViewItem = e.Options.Destination
as
RadTreeViewItem;
//Node being dragged
object
selectedTreeItem = ((RadTreeViewItem)e.OriginalSource).Item
;
//Check if node being dragged is top node
if
(selectedTreeItem
is
ParksGroupDataStruct)
{
e.QueryResult =
false
;
}
//If not top node being dragged then only allow drop inside
else
if
(treeViewItem.DropPosition != DropPosition.Inside)
{
e.QueryResult =
false
;
}
}
Not sure if this is the best way to do it, but it works. If there's any better advice then I'm all ears (or eyes in this case).
Now I need to figure out the null exception being thrown if item is being dragged into white space of TreeView.
0
Robert
Top achievements
Rank 1
answered on 05 Apr 2012, 02:00 AM
Here's the code to disable drop in white space to cancel out the null exception thrown.
private
void
OnDropInsideTreeViewDropQuery(
object
sender, DragDropQueryEventArgs e)
{
//Drop Destination
var destinationTreeViewItem = e.Options.Destination
as
RadTreeViewItem;
//Node being dragged
object
selectedTreeItem = ((RadTreeViewItem)e.OriginalSource).Item
;
//Check drop destination isn't null (white space)
if
(destinationTreeViewItem ==
null
)
{
e.QueryResult =
false
;
}
//Check if node being dragged is top node
else
if
(selectedTreeItem
is
ParksGroupDataStruct)
{
e.QueryResult =
false
;
}
//If not top node being dragged then only allow drop inside
else
if
(destinationTreeViewItem.DropPosition != DropPosition.Inside)
{
e.QueryResult =
false
;
}
}
0
Hi Robert,
I am glad you found a solution for your scenario. Handling the OnDropQuery event is the right approach for your case, but should you encounter any issues with it or you need our assistance, please let us know.
Regards,
Tina Stancheva
the Telerik team
I am glad you found a solution for your scenario. Handling the OnDropQuery event is the right approach for your case, but should you encounter any issues with it or you need our assistance, please let us know.
Regards,
Tina Stancheva
the Telerik team
Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>