неправильный выбор в Itemrenderer с флажком - PullRequest
0 голосов
/ 22 марта 2012

Я использую 'Tilelist' и 'HBOX' как itemrenderer.В HBOX у меня есть флажок.

Передача набора массивов в качестве поставщика данных в TileList (моя длина набора массивов равна 20).При установке флажка item1 в Tilelist и прокрутке списка, я мог видеть следующий элемент, выбранный из item1.В блогах, которые я обнаружил, есть некоторая проблема гибкого кэша при использовании флажка.

Нужна помощь по этому вопросу.

Заранее спасибо.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" verticalGap="0" xmlns:local="*" height="500" >
    <mx:Script>
    <![CDATA[
        private var arr:Array = [
            { firstName: "Alex", lastName: "Harui" },
            { firstName: "Gordon", lastName: "Smith" },
            { firstName: "Deepa", lastName: "Subramanian" },
            { firstName: "Matt", lastName: "Chotin" },
            { firstName: "Ely", lastName: "Greenfield" },
            { firstName: "Kevin", lastName: "Lynch" },
            { firstName: "Shantanu", lastName: "Narayan" },
            { firstName: "Joan", lastName: "Lafferty" },
            { firstName: "Ryan", lastName: "Frishberg" },

        ];

    ]]>
    </mx:Script>
     <mx:TileList id="list" initialize="list.dataProvider=arr" labelField="lastName" maxColumns="1" itemRenderer="Checkrenderer" 
                allowMultipleSelection="true" >

    </mx:TileList> 
</mx:Application>

Проверка HBOX:

<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="138" height="300" xmlns:local="*">
<mx:CheckBox id="checkbx"/>
</mx:Box>
</mx:HBox>

1 Ответ

0 голосов
/ 22 марта 2012

По сути, вам необходимо отслеживать выбранное значение в данных в dataProvider, это связано с тем фактом, что средства визуализации элементов «перерабатываются», что означает, что они повторно используются с различными примененными данными, чтобы отслеживать Фактическое выбранное значение для данной строки необходимо привязать к данным, связанным со строкой. Вы можете использовать класс, который я предоставил в следующем примере под названием ValueObjectWithSelected, чтобы «обернуть» любой другой VO / DTO, назначив его свойству value, выбранное свойство используется для отслеживания выбора флажка, и средство визуализации устанавливает это свойство, когда выбранные флажки изменяют значение.

http://www.shaunhusain.com/CheckboxList/

http://www.shaunhusain.com/CheckboxList/srcview/

Чтобы исправить ваш конкретный случай:

<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="138" height="300" xmlns:local="*">
    <mx:CheckBox id="checkbx" label="{data.firstName}" change="{data.selected = checkbx.selected}" selected="{data.selected}"/>
</mx:HBox>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...