2011-03-15 56 views
0

爲什麼我無法將xml屬性綁定到數據字段? (彎曲4)xml屬性數據字段datagrid

<fx:Model id="sampleXML"> 
     <contacts> 
      <contact firstName="Joe" lastName="Smith" emailAddress="[email protected]" /> 
      <contact firstName="Sally" lastName="Lally" emailAddress="[email protected]" /> 
      <contact firstName="Albert" lastName="Rigdon" emailAddress="[email protected]" /> 
     </contacts> 
    </fx:Model> 
<mx:DataGrid dataProvider="{sampleXML.contact}" id="dg"> 
    <mx:columns> 
     <mx:DataGridColumn headerText="First Name" dataField="@firstName" /> 
     <mx:DataGridColumn headerText="Last Name" dataField="@lastName" /> 
     <mx:DataGridColumn headerText="Email Address" dataField="@emailAddress" /> 
    </mx:columns> 
</mx:DataGrid> 

回答

1

設置dataProvider爲{} sampleXML.contact

它應該是{} sampleXML.contacts

0

您也可以嘗試使用的XMLListCollection如下圖所示,提供「 contactsList'作爲dataprovider到數據網格。

<mx:XML id="tempXML" 
     source="assets/contacts.xml" /> 

<mx:XMLListCollection id="contactsList" 
     source="{tempXML.contacts}" /> 

假設:XML存儲在文件夾中的資產和XML的名字是contacts.xml

0

試着改變你的外匯:如果你想使用相同的符號@ XML:模型FX。模型將XML反序列化爲一個對象,這意味着您的@notation不會給出期望的結果。下面的示例工作:

<fx:XML id="sampleXML"> 
    <contacts> 
     <contact firstName="Joe" lastName="Smith" emailAddress="[email protected]" /> 
     <contact firstName="Sally" lastName="Lally" emailAddress="[email protected]" /> 
     <contact firstName="Albert" lastName="Rigdon" emailAddress="[email protected]"/> 
    </contacts> 
</fx:XML> 

<mx:DataGrid dataProvider="{sampleXML.contact}" id="dg"> 
    <mx:columns> 
     <mx:DataGridColumn headerText="First Name" dataField="@firstName" /> 
     <mx:DataGridColumn headerText="Last Name" dataField="@lastName" /> 
     <mx:DataGridColumn headerText="Email Address" dataField="@emailAddress" /> 
    </mx:columns> 
</mx:DataGrid> 

如果你想使用FX:型號,然後從你的dataField名

前降「@」