0

我有一些带有可编辑行的 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 ...

请帮我解决这个问题,非常感谢您的帮助!:)

4

1 回答 1

1

VBox 不实现 IDropInListItemRenderer。IDropInListItemRenderer 为您提供“listData”属性(属于“DataGridListData”类型)。此外,“listData.owner”将是 DataGrid 对象,“listData.rowIndex”为您提供 rowIndex 属性。

于 2010-01-06T21:04:37.587 回答