我有一个datagrid,其中添加了行。每当添加行时,都会向舞台添加影片剪辑。如果单击行和按钮,我添加了一个按钮来删除数据网格中的一行,并且所有这些都能很好地工作。
但是,当我尝试删除与数据网格中该行相关的影片剪辑时,它不起作用。
我的代码是:
function removeloaditem(event:MouseEvent) {
datagrid.removeItemAt(datagrid.selectedIndex);
removeChild(MovieClip(datagrid.selectedIndex);
}
答案 0 :(得分:0)
removeChild(MovieClip(datagrid.selectedIndex);
您需要了解这行代码尝试做什么。
datagrid.selectedIndex
这个变量只是一个数字。因此,您正在尝试将数字转换为MovieClip。
MovieClip(1)
这不起作用。您需要引用 实际 MovieClip对象。无论您在何处创建MovieClip对象,都需要存储对该对象的引用。您可以使用普通的Object存储所有引用。
var objectList:Object = {};
然后,无论您在何处创建MovieClip,请添加以下行:
objectList["reference_" + datagrid.selectedIndex] = "movieclip variable";
替换" movieclip变量"引用你的movieclip对象。之后,用以下两行替换当前的removeChild行:
var movieclip = objectList["reference_" + datagrid.selectedIndex]
moveclip.parent.removeChild(movieclip);