Hello,

In all the examples I have seen online most of the Drop-In ItemRenderers use an 
ArrayCollection when a CheckBox is used as the DataProvider.  I tried using an 
XMLList 
collection instead and I don't get any of the CheckBoxes in the ItemRenderer to 
be 
checked when the value is true, by default they all appear as unchecked.  I've 
tested the 
values displayed when I take out the ItemRenderer and they show true or false.

I've tried to see if it made a difference that the values were either text 
nodes or attr nodes 
and it didn't seem to care.  So is this a problem with the Drop-in 
ItemRenderer?  Is this 
expected behavior? Do I need to create a LabelFunction to cast the XML value as 
a 
boolean? (I tried and it didn't work either)

I'm kinda baffled and would appreciate any help.  

Thanks,
Hoyt

The code is very simple:

XML file:

<root>
    <test>
        <testValues>
            <boolval attr="false">true</boolval>
            <boolval attr="true">false</boolval>
            <boolval attr="true">true</boolval>
            <boolval attr="true">false</boolval>
        </testValues>
    </test>    
</root>

The mxml file:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute" 
creationComplete="testXML.send();" cornerRadius="8" borderStyle="solid" 
borderThickness="2" borderColor="#000000" themeColor="#00FF00" 
backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#008080, 
#008080]">
<mx:Script>
        <![CDATA[
                import 
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
                import mx.collections.HierarchicalData;
                import mx.binding.utils.ChangeWatcher;
                import mx.events.ListEvent;
                import mx.events.ItemClickEvent;
                import mx.controls.dataGridClasses.DataGridColumn;
                import mx.rpc.events.*;
                import mx.collections.XMLListCollection;
                import mx.controls.*;
                import mx.binding.*;
                import mx.binding.utils.BindingUtils;
                import mx.rpc.xml.*;

                [Bindable]
                private var testList:XMLListCollection;

                private function testXMLHandler(evt:ResultEvent):void {
                        testList = new 
XMLListCollection(evt.result.test.testValues.boolval);
                        txtArea.text += testList.toString();
                }

        ]]>
</mx:Script>

<mx:HTTPService id="testXML" result="testXMLHandler(event)" resultFormat="e4x" 
url="http://localhost/~hoytng/Workspace/studentDB/xml/test.xml"/>
        <mx:DataGrid x="401" y="18" width="224" height="100" 
dataProvider="{testList}">
                <mx:columns>
                        <mx:DataGridColumn headerText="Column 1" 
dataField="@attr"/>
                        <mx:DataGridColumn headerText="Column 2" dataField="*"/>
                </mx:columns>
        </mx:DataGrid>
</mx:Application>

Reply via email to