Могу ли я сделать сводное приложение, используя Advanced Datagrid? - PullRequest
0 голосов
/ 08 сентября 2010

Я хочу захватить событие щелчка заголовка и, щелкнув, я хочу разделить столбцы, добавив AdvancedDatgridColumnGroup динамически на каждом уровне. Это возможно? По крайней мере, помогите мне с захватом события щелчка заголовка. Пожалуйста, не предлагайте OLAP. Я хочу больше узнать о расширенной опции сетки данных.

<mx:AdvancedDataGrid x="6" y="4" id="adg0" designViewDataType="flat" width="947" height="357" click="summaryViewStack.selectedIndex = 1" fontFamily="Verdana" fontSize="10">



                    <mx:groupedColumns>
                    <mx:AdvancedDataGridColumn headerText="Cluster" dataField="label" />

                    <mx:AdvancedDataGridColumnGroup headerText="Revenue" >
                            <mx:AdvancedDataGridColumn headerText="April" dataField="data1"/>
                               <mx:AdvancedDataGridColumn headerText="May" dataField="data2"/>
                                  <mx:AdvancedDataGridColumn headerText="June" dataField="data3"/>
                                  <mx:AdvancedDataGridColumn headerText="Q1" dataField="data4"/>
                                  </mx:AdvancedDataGridColumnGroup>
                    <mx:AdvancedDataGridColumnGroup headerText="Headcount" >
                            <mx:AdvancedDataGridColumn headerText="April" dataField="data1"/>
                              <mx:AdvancedDataGridColumn headerText="May" dataField="data2"/>
                                 <mx:AdvancedDataGridColumn headerText="June" dataField="data3"/>
                                 <mx:AdvancedDataGridColumn headerText="Q1" dataField="data4"/>
                                 </mx:AdvancedDataGridColumnGroup>
                                    <mx:AdvancedDataGridColumnGroup headerText="Effort" >
                                    <mx:AdvancedDataGridColumn headerText="April" dataField="data1"/>
                                    <mx:AdvancedDataGridColumn headerText="May" dataField="data2"/>
                                    <mx:AdvancedDataGridColumn headerText="June" dataField="data3"/>
                                    <mx:AdvancedDataGridColumn headerText="Q1" dataField="data4"/>
                                    </mx:AdvancedDataGridColumnGroup>

                         </mx:groupedColumns>
                </mx:AdvancedDataGrid>
            </mx:Canvas>
            <mx:Canvas label="Accountwise Summary" width="100%" height="100%">
                <mx:AdvancedDataGrid x="6" y="4" id="adg1" designViewDataType="flat" width="947" height="357" click="summaryViewStack.selectedIndex = 1" fontFamily="Verdana" fontSize="10">
                   <mx:dataProvider>
                     <mx:ArrayCollection>
                        <mx:Object label="1800-Flowers" data1="20" data2="30" data3="40" data4="90" />
                        <mx:Object label="The Home Depot" data1="20" data2="30" data3="40" data4="90" />
                        <mx:Object label="Nielsen" data1="20" data2="30" data3="40" data4="90" />
                        <mx:Object label="Nokia" data1="20" data2="30" data3="40" data4="90" />
                     </mx:ArrayCollection>
                   </mx:dataProvider>


                    <mx:groupedColumns>
                    <mx:AdvancedDataGridColumn headerText="Account" dataField="label"/>

                    <mx:AdvancedDataGridColumnGroup headerText="Revenue" >
                            <mx:AdvancedDataGridColumn headerText="April" dataField="data1"/>
                               <mx:AdvancedDataGridColumn headerText="May" dataField="data2"/>
                                  <mx:AdvancedDataGridColumn headerText="June" dataField="data3"/>
                                  <mx:AdvancedDataGridColumn headerText="Q1" dataField="data4"/>
                                  </mx:AdvancedDataGridColumnGroup>
                    <mx:AdvancedDataGridColumnGroup headerText="Headcount" >
                            <mx:AdvancedDataGridColumn headerText="April" dataField="data1"/>
                              <mx:AdvancedDataGridColumn headerText="May" dataField="data2"/>
                                 ><mx:AdvancedDataGridColumn headerText="June" dataField="data3"/>
                                 <mx:AdvancedDataGridColumn headerText="Q1" dataField="data4"/>
                                 </mx:AdvancedDataGridColumnGroup>
                                    <mx:AdvancedDataGridColumnGroup headerText="Effort" >
                                    <mx:AdvancedDataGridColumn headerText="April" dataField="data1"/>
                                    <mx:AdvancedDataGridColumn headerText="May" dataField="data2"/>
                                    <mx:AdvancedDataGridColumn headerText="June" dataField="data3"/>
                                    <mx:AdvancedDataGridColumn headerText="Q1" dataField="data4"/>
                                    </mx:AdvancedDataGridColumnGroup></mx:groupedColumns>
                </mx:AdvancedDataGrid>

1 Ответ

1 голос
/ 08 сентября 2010

Похоже, то, что вы хотите сделать, должно быть осуществимо, но я не думаю, что это будет тривиально.

Должно быть довольно легко создать headerRenderer компонент, который отправляет событие щелчка, которое вы можете прослушать. Затем заново создайте группировку на основе этого клика.

Вы смотрели на Компонент сводной таблицы FlexMonster ? Я не знаю много об этом, но, похоже, он был создан для решения вашей проблемы.

...