There is quite a bit of chatter on the forums about this bug, especially on CodePlex, reaching back over the last twelve months.
The issue is that the DragPanelExtender really only works properly with the "Position: Static" type of positioning, otherwise the offsets from the origin of the page get added back in, and the panel that you are trying to drag goes zinging off in a down-and-to-the-right
direction.
The advice seems to be to use a table for the initial positioning of your panels.
If you check out
my sample output, You will understand that I had to create a 20 x 20 table to make these panels look like they had been artlessly scattered.
My questions are:
<div mce_keep="true">Is there not some better way?</div>
<div mce_keep="true">Given that this bug seems fairly serious, and has been around for 12 months, is there a statement as to which SP the fix will be in? It fairly seriously limits the usefulness of the DragPanelExtender, which is a brilliantly useful
control.</div>
Thank you Vince. And since you are MSFT, have you (or anyone else) heard anything which would answer my second bullet-point?
There seem to be a few such issues cropping up with the ACT. For example the RoundedCornersExtender has the same problem with absolute poitioning, you have to wrap it in a div and move the absolute positioning up there. Less serious that the DragPanelExtender
issue, but probably the same bug.
I saw your sample, it's very beautiful. But creating 20 table cells is too complicated. Besides using RoundConerExtender, to build a round-coner div by ourselves, you can check this link:
http://methvin.com/jquery/jq-corner-demo.html. This is made by JQuery and it provides a very simple method to build it. Hope it can help you.
If you have any feedback about my replies, please contact msdnmg@microsoft.com
Marked as answer by Vince Xu - MSFT on Jan 22, 2009 03:05 AM
The best reference to this issue is
workItem:9122 in codeplex. It finishes with the pithy comment by
Fricco in 2007:
"Will enybody pay attention to this bug finaly i wonder."
We are not currently using jquery.
For the purposes of my next release (April), I will stick to the workarounds and try and get the product converted to Silverlight as quickly as possible thereafter.
There is actually too much work between now and April to Ajaxify what does work. So, for example, if you can't have rounded corners, a dragpanel, a dropshadow, and a collapsible panel all at the same time, then it will have to be just the ones that will
all work together.
Sigh. Pragmatism in one so young!
But in a sense you have answered my questions. I'm getting the idea that:
<div mce_keep="true">the only 'better way' is to roll your own ajax with javascript.</div>
<div mce_keep="true">the ajax control toolkit is not a supported product so much as a community open-source endeavour, as such there isn't a product roadmap.</div>
Hexagon Glob...
Member
59 Points
41 Posts
DragPanelExtender and Absolute Positioning Bug
Jan 17, 2009 10:09 AM|LINK
There is quite a bit of chatter on the forums about this bug, especially on CodePlex, reaching back over the last twelve months.
The issue is that the DragPanelExtender really only works properly with the "Position: Static" type of positioning, otherwise the offsets from the origin of the page get added back in, and the panel that you are trying to drag goes zinging off in a down-and-to-the-right direction.
The advice seems to be to use a table for the initial positioning of your panels.
If you check out my sample output, You will understand that I had to create a 20 x 20 table to make these panels look like they had been artlessly scattered.
My questions are:
Many thanks,
Hexagon Global.
DragPanelExtender ajaxtoolkit DragPanel Position:Absolute
Vince Xu - M...
All-Star
80367 Points
6801 Posts
Re: DragPanelExtender and Absolute Positioning Bug
Jan 20, 2009 05:02 AM|LINK
Hi,
For DragPanelExtender, it always will be converted to be as an absolute position div.
For these issues, I suggest you use native JavaScript to build a DragPanel. See this link: http://forums.asp.net/t/1321959.aspx
Further, you can build Css style to make a more complete panel.
Hexagon Glob...
Member
59 Points
41 Posts
Re: DragPanelExtender and Absolute Positioning Bug
Jan 20, 2009 05:45 AM|LINK
Thank you Vince. And since you are MSFT, have you (or anyone else) heard anything which would answer my second bullet-point?
There seem to be a few such issues cropping up with the ACT. For example the RoundedCornersExtender has the same problem with absolute poitioning, you have to wrap it in a div and move the absolute positioning up there. Less serious that the DragPanelExtender issue, but probably the same bug.
Many thanks,
Hexagon Global.
Vince Xu - M...
All-Star
80367 Points
6801 Posts
Re: DragPanelExtender and Absolute Positioning Bug
Jan 20, 2009 06:39 AM|LINK
Hi,
After we build a DragPanel behavior to your panel, we need build a div with a specific size as a canvas. And DragPanel will not be outside of it.
I didn't encounter the "position:absolute" issue about DragDrop or RoundConer so far.(see this: http://www.codeplex.com/AjaxControlToolkit/WorkItem/List.aspx)
I saw your sample, it's very beautiful. But creating 20 table cells is too complicated. Besides using RoundConerExtender, to build a round-coner div by ourselves, you can check this link: http://methvin.com/jquery/jq-corner-demo.html. This is made by JQuery and it provides a very simple method to build it. Hope it can help you.
Hexagon Glob...
Member
59 Points
41 Posts
Re: DragPanelExtender and Absolute Positioning Bug
Jan 21, 2009 10:25 PM|LINK
Thanks Vince,
The best reference to this issue is workItem:9122 in codeplex. It finishes with the pithy comment by Fricco in 2007:
We are not currently using jquery.
For the purposes of my next release (April), I will stick to the workarounds and try and get the product converted to Silverlight as quickly as possible thereafter.
There is actually too much work between now and April to Ajaxify what does work. So, for example, if you can't have rounded corners, a dragpanel, a dropshadow, and a collapsible panel all at the same time, then it will have to be just the ones that will all work together.
Sigh. Pragmatism in one so young!
But in a sense you have answered my questions. I'm getting the idea that:
Regards,
ajaxcontrolkit