Я пытаюсь отобразить значения в сетке данных в своем приложении. У меня есть все значения в виде файла xml. У меня был только один набор записей в XML-файле, чтобы заполнить только одну строку сетки данных. При попытке сохранить значения из файла XML в Коллекцию массивов в файле приложения с использованием кода, т. Е.
<mx:Model id="reviewList" source="assets/reviewList.xml"/>
<mx:ArrayCollection id="reviewlist" source="{reviewList.Item}"/>
Я получаю сообщение об ошибке
Error No# 1034: Type coercion failed cannot convert mx.utils::ObjectProxy to Array.
Но если у меня есть два набора записей в XML-файле, он работает нормально. Если есть только один набор, я получаю указанную выше ошибку? В чем проблема в этом случае?
Вот мой xml-файл:
<ReviewList>
<Item>
<ReviewId>1123</ReviewId>
<TaskType>User Requirement Specification</TaskType>
<RequestId>1223</RequestId>
<ItemCodeVersion>URS - 1</ItemCodeVersion>
<ReviewStartDate>29-Sep-2009</ReviewStartDate>
<Status>Review In Progress</Status>
<Reviewer>MR.RISHU GHOSE</Reviewer>
<OpenDefect>0</OpenDefect>
<CasualAnalysisPending>0</CasualAnalysisPending>
<CloseDefects>0</CloseDefects>
<VerifiedDefects>0</VerifiedDefects>
</Item>
</ReviewList>
И это сетка данных, в которой я хочу отображать подробности.
<mx:DataGrid id="reviewDG" dataProvider="{reviewlist}" variableRowHeight="true" width="100%" height="200"
horizontalScrollPolicy="off">
<mx:columns>
<mx:DataGridColumn headerText="Review Id" dataField="ReviewId" textAlign="center" />
<mx:DataGridColumn headerText="Task Type" dataField="TaskType" textAlign="center"/>
<mx:DataGridColumn headerText="Request Id" dataField="RequestId" textAlign="center"/>
<mx:DataGridColumn headerText="Item Code-Ver" dataField="ItemCodeVersion" textAlign="center" headerWordWrap="true"/>
<mx:DataGridColumn headerText="Review Start Date" dataField="ReviewStartDate" textAlign="center" headerWordWrap="true"/>
<mx:DataGridColumn headerText="Status" dataField="Status" textAlign="center"/>
<mx:DataGridColumn headerText="Reviewer" dataField="Reviewer" textAlign="center"/>
<mx:DataGridColumn headerText="Open Defect" dataField="OpenDefect" textAlign="center" headerWordWrap="true"/>
<mx:DataGridColumn headerText="Casual Analysis Pending" dataField="CasualAnalysisPending" textAlign="center" headerWordWrap="true"/>
<mx:DataGridColumn headerText="Close Defects" dataField="CloseDefects" textAlign="center" headerWordWrap="true"/>
<mx:DataGridColumn headerText="Verified Defects" dataField="VerifiedDefects" textAlign="center" headerWordWrap="true"/>
<mx:DataGridColumn headerText="Review Details" dataField="ReviewDetails" width="65" headerWordWrap="true">
<mx:itemRenderer>
<mx:Component>
<mx:Label text="View" click="outerDocument.onViewClick()"/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
В моем приложении могут быть случаи, когда мне нужно, чтобы в сетке данных отображалась только одна запись. Как в таких случаях исправить эту ошибку?