我有一些带有可编辑行的DataGrid,它还有一个“动态”添加新行的选项。我的意思是,最后一行有一些默认数据(例如“点击这里添加新行”),当用户点击它时,他可以编辑该值并最终插入新行。
但是,我在同一个DataGrid中也有一个列,它不是来自DataGrid的DataProvider。该列用于删除特定行,它应该只显示具有相关鼠标单击操作的可点击图像(在自定义itemRenderer中)。
我想在除最后一行之外的每一行上显示该图像。
到目前为止,这是我的DataGridColumn代码:
<mx:DataGridColumn width="20" editable="false">
<mx:itemRenderer>
<mx:Component>
<mx:VBox creationComplete="cc()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.CloseEvent;
public function cc():void{
delImg.source = "assets/images/delete-icon.png";
}
]]>
</mx:Script>
<mx:Image id="delImg" smoothBitmapContent="true" width="15" height="15" click="outerDocument.confirmDelete(event)"/>
</mx:VBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
我想我应该在我的cc
函数中添加一些条件并以某种方式比较当前行的索引或者我的dataProvider长度...我不太确定如何做到这一点,因为我无法获取rowIndex属性,因为我这里没有使用DataGridEvent ...
请帮助我这个,非常感谢你的帮助! :)
答案 0 :(得分:1)
VBox没有实现IDropInListItemRenderer。 IDropInListItemRenderer为您提供“listData”属性(类型为“DataGridListData”)。此外,“listData.owner”将是DataGrid对象,“listData.rowIndex”将为您提供rowIndex属性。