Can I make a copy of an AdvancedDataGrid Item Renderer?
i have manual drag-and-drop functionality built in advanceddatagrid (adg). right now, building own custom drag proxy using container instance , grabbing text use "selecteditem" property. creates suitable image drag. however, i'd have drag proxy item renderer of item i'm dragging. don't want whole row, though, 1 cell - that's why can't use adg's "dragimage" property. when run code below attempt make copy of itemrenderer instance, itemrenderer in adg source item cleared out - label disappears. there way make "copy" of itemrenderer instance, doesn't disappear adg?
"ericbelair" <webforumsuser@macromedia.com> wrote in message
news:gecebe$17j$1@forums.macromedia.com...
>i have manual drag-and-drop functionality built in advanceddatagrid
> (adg). right now, building own custom drag proxy using container
> instance , grabbing text use "selecteditem" property.
>
> creates suitable image drag. however, i'd
> have
> drag proxy item renderer of item i'm
> dragging.
> don't want whole row, though, 1 cell - that's why can't use
>
> adg's "dragimage" property. when run code below attempt make
> copy
> of itemrenderer instance, itemrenderer in adg source
> item
> cleared out - label disappears. there way make
> "copy"
> of itemrenderer instance, doesn't disappear adg?
>
> // container use dragproxy
> var proxybox:vbox = new vbox();
>
> each (var item:object in this.selecteditems)
> {
> var selecteditemrenderer:ilistitemrenderer =
> super.itemtoitemrenderer(item);
>
> proxybox.addchild(displayobject(selecteditemrenderer));
> }
the itemrenderer made adg using classfactory of
itemrenderer class.
i think can search appropriate classfactory column,
then make new renderer factory. set data and/or listdata
the same existing renderer.
this might this:
var factory:ifactory;
var renderer:ilistitemrenderer;
//populate factory appropriate renderer factory
//you need part
factory=?;
renderer = factory.getinstance();
renderer.data=selecteditemrenderer.data;
renderer.listdata=selecteditemrenderer.listdata;
proxybox.addchild(displayobject(renderer));
you might find can shortcut using new
(getdefinitionbyname(selecteditemrenderer.classname)) instead of
factory.
hth;
amy
More discussions in Flex (Read Only)
adobe
Comments
Post a Comment