mengonversi hasil objek jarak jauh ke kumpulan array secara fleksibel

Hai teman-teman, saya menggunakan zend_amf dan flex. Masalah saya adalah saya harus mengisi datagrid muka saya menggunakan koleksi array. koleksi array ini memiliki anak.

contoh:

    [Bindable]
 private var dpHierarchy:ArrayCollection = new ArrayCollection([
  {trucks:"Truck", children: [
         {trucks:"AMC841", total_trip:1, start_time:'3:46:40 AM'},
         {trucks:"AMC841", total_trip:1, start_time:'3:46:40 AM'}])
         ]};

tetapi sumber data datagrid saya harus berasal dari database, bagaimana cara mengonversi hasil dari objek jarak jauh ke kumpulan array yang memiliki format yang sama seperti pada contoh saya, atau dengan cara lain.

inilah datagrid awal saya

<mx:AdvancedDataGrid id="datagrid"
                         width="500" height="200" lockedColumnCount="1" lockedRowCount="0" horizontalScrollPolicy="on" includeIn="loggedIn" x="67" y="131">
        <mx:dataProvider>
            <mx:HierarchicalData id="dpHierarchytest" source="{dp}"/>
        </mx:dataProvider>
        <mx:groupedColumns>
            <mx:AdvancedDataGridColumn dataField="trucks"
                                       headerText="Trucks"/>
            <mx:AdvancedDataGridColumn dataField="total_trip"
                                       headerText="Total Trip"/>
            <mx:AdvancedDataGridColumnGroup headerText="PRECOOLING">
                <mx:AdvancedDataGridColumnGroup headerText="Before Loading">
                    <mx:AdvancedDataGridColumn dataField="start_time" headerText="Start Time"/>
                    <mx:AdvancedDataGridColumn dataField="end_time" headerText="End Time"/>
                    <mx:AdvancedDataGridColumn dataField="precooling_time" headerText="Precooling Time"/>
                    <mx:AdvancedDataGridColumn dataField="precooling_temp" headerText="Precooling Temp"/>
                </mx:AdvancedDataGridColumnGroup>
                <mx:AdvancedDataGridColumnGroup headerText="Before Dispatch">
                    <mx:AdvancedDataGridColumn dataField="bd_start_time" headerText="Start Time"/>
                    <mx:AdvancedDataGridColumn dataField="bd_end_time" headerText="End Time"/>
                    <mx:AdvancedDataGridColumn dataField="bd_precooling_time" headerText="Precooling Time"/>
                    <mx:AdvancedDataGridColumn dataField="bd_precooling_temp" headerText="Precooling Temp"/>
                </mx:AdvancedDataGridColumnGroup>
                <mx:AdvancedDataGridColumn dataField="remarks"
                                           headerText="Remarks"/>
            </mx:AdvancedDataGridColumnGroup>
            <mx:AdvancedDataGridColumnGroup headerText="Temperature Compliance">
                <mx:AdvancedDataGridColumn dataField="total_hit" headerText="Total Hit"/>
                <mx:AdvancedDataGridColumn dataField="total_miss" headerText="Total Miss"/>
                <mx:AdvancedDataGridColumn dataField="cold_chain_compliance" headerText="Cold Chain Compliance"/>
                <mx:AdvancedDataGridColumn dataField="average_temp" headerText="Average Temp"/>
            </mx:AdvancedDataGridColumnGroup>
            <mx:AdvancedDataGridColumnGroup headerText="Productivity">
                <mx:AdvancedDataGridColumn dataField="total_drop_points" headerText="Total Drop Points"/>
                <mx:AdvancedDataGridColumn dataField="total_delivery_time" headerText="Total Delivery Time"/>
                <mx:AdvancedDataGridColumn dataField="total_distance" headerText="Total Distance"/>
            </mx:AdvancedDataGridColumnGroup>
            <mx:AdvancedDataGridColumnGroup headerText="Trip Exceptions">
                <mx:AdvancedDataGridColumn dataField="total_doc" headerText="Total DOC"/>
                <mx:AdvancedDataGridColumn dataField="total_eng" headerText="Total ENG"/>
                <mx:AdvancedDataGridColumn dataField="total_fenv" headerText="Total FENV"/>
                <mx:AdvancedDataGridColumn dataField="average_speed" headerText="Average Speed"/>
            </mx:AdvancedDataGridColumnGroup>
        </mx:groupedColumns>
    </mx:AdvancedDataGrid>

Terima kasih, dan saya sangat membutuhkan bantuan.


person user364199    schedule 11.06.2010    source sumber


Jawaban (1)


Cara terbaik untuk melakukannya adalah dengan menggunakan mode debug Flash Builder untuk melihat dengan tepat data apa yang masuk.

Konvensi penamaan juga dapat diatur dari kueri SQL jika tidak cocok dengan labelFields MXML Anda atau cukup ganti nama labelFields.

Untuk mengonversi hasil ResultEvent, umumnya cukup melakukan ini: myArrayCollection=event.result as ArrayCollection;

Jika data yang dikembalikan adalah Array, saya menemukan bahwa Anda perlu melakukan ini: myArrayCollection=new ArrayCollection(event.result);

Semoga ini membantu.

person Francisc    schedule 08.07.2010