Запретить отображение некоторых данных в последнем ряду Flex Datagrid - PullRequest
0 голосов
/ 06 января 2010

У меня есть несколько DataGrid с редактируемыми строками, в которых также есть возможность добавлять новую строку «динамически». Я имею в виду, что в последней строке есть данные по умолчанию (например, «НАЖМИТЕ ЗДЕСЬ, ЧТОБЫ ДОБАВИТЬ НОВУЮ СТРОКУ»), и когда пользователь нажимает на нее, он может редактировать это значение, и новая строка будет в конечном итоге вставлена.

Однако у меня также есть столбец в той же DataGrid, который не взят из DataPridider DataGrid. Этот столбец используется для удаления определенной строки, и на нем должно отображаться только изображение, реагирующее на щелчок, с соответствующим действием щелчка мыши (в рамках пользовательского 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 здесь ...

Пожалуйста, помогите мне с этим и большое спасибо за любую помощь! :)

1 Ответ

1 голос
/ 07 января 2010

VBox не реализует IDropInListItemRenderer.IDropInListItemRenderer предоставляет вам свойство «listData» (которое имеет тип «DataGridListData»).Кроме того, «listData.owner» будет объектом DataGrid, а «listData.rowIndex» предоставляет вам свойство rowIndex.

...