读书人

flex中datagrid归拢单元格

发布时间: 2012-08-15 16:57:17 作者: rapoo

flex中datagrid合并单元格
形如: A B C
1 2 3
1 2 3
1 2 3
1 2 3
采用flex中的datagrid,现有字段A,B,C,我想合并A,B这两个标题头。也就是说标题头有两列,而下边的数据还是三列,怎么实现啊,小弟初学flex,高手指教啊!

[解决办法]
<mx:AdvancedDataGrid id="adg1" designViewDataType="flat" sortExpertMode="true" sortableColumns="false" dataProvider="{arrGrid}" width="100%" height="100%">
<mx:groupedColumns>

<mx:AdvancedDataGridColumnGroup headerText="上午">
<mx:AdvancedDataGridColumn headerText="上班"/>
<mx:AdvancedDataGridColumn headerText="下班" />
</mx:AdvancedDataGridColumnGroup>
<mx:AdvancedDataGridColumnGroup headerText="下午">
<mx:AdvancedDataGridColumn headerText="上班"/>
<mx:AdvancedDataGridColumn headerText="下班"/>
</mx:AdvancedDataGridColumnGroup>
</mx:groupedColumns>
</mx:AdvancedDataGrid>
[解决办法]

XML code
//生成Advancedatagrid        public function getForecastAdvancedDataGrid(tmpMonthADGDataGrid:AdvancedDataGrid,                        forecastData:ForecastData):void{            var i:int;                                        myadgmonthdata=new ArrayCollection();                        var tmpD:AdvancedDataGridColumn=new AdvancedDataGridColumn();            tmpD.headerText="D";            tmpD.width=90;            tmpD.itemRenderer=new ClassFactory(deleteButton);                        var tmpProduct:AdvancedDataGridColumn=new AdvancedDataGridColumn("Product");            tmpProduct.dataField="1";            tmpProduct.width=100;            tmpProduct.dataField="product";            myadgmonthdata.addItem(tmpD);            myadgmonthdata.addItem(tmpProduct);                        for(i=1;i<(int(forecastData.forecast_month_count)+1);++i){                var tmpGroup:AdvancedDataGridColumnGroup=new AdvancedDataGridColumnGroup();                                tmpGroup.headerText=myMonth.getMonth(i,forecastData.forecast_forecast);                                var tmpqty:AdvancedDataGridColumn=new AdvancedDataGridColumn();                tmpqty.headerText="QTY";                tmpqty.width=60;                tmpqty.dataField="qty"+i.toString();                var tmpup:AdvancedDataGridColumn=new AdvancedDataGridColumn();                tmpup.headerText="U/P";                tmpup.width=50;                tmpup.dataField="unitprice"+i.toString();                var tmpRevenue:AdvancedDataGridColumn=new AdvancedDataGridColumn();                tmpRevenue.headerText="Revenue";                tmpRevenue.width=80;                tmpRevenue.dataField="revenue"+i.toString();                var tmptestqty:AdvancedDataGridColumn=new AdvancedDataGridColumn();                tmptestqty.headerText="TesterQTY";                tmptestqty.width=90;                tmptestqty.dataField="testerqty"+i.toString();                tmpGroup.children=tmpGroup.children.concat(tmpqty);                tmpGroup.children=tmpGroup.children.concat(tmpRevenue);                tmpGroup.children=tmpGroup.children.concat(tmptestqty);                tmpGroup.children=tmpGroup.children.concat(tmpup);                                myadgmonthdata.addItem(tmpGroup);            }                        var tmpTester:AdvancedDataGridColumn=new AdvancedDataGridColumn();            tmpTester.headerText="Tester";            tmpTester.width=70;            tmpTester.dataField="tester";                        var tmpHRA:AdvancedDataGridColumn=new AdvancedDataGridColumn("HR(A)");            tmpHRA.dataField="hr_a";            tmpHRA.width=60;                        var tmpUPD:AdvancedDataGridColumn=new AdvancedDataGridColumn("UPD");            tmpUPD.dataField="upd";            tmpUPD.width=60;                        var tmpcprod:AdvancedDataGridColumn=new AdvancedDataGridColumn();            tmpcprod.headerText="InnerProd";            tmpcprod.dataField="kprod";            tmpcprod.width=80;                        var tmpoackagetype:AdvancedDataGridColumn=new AdvancedDataGridColumn();            tmpoackagetype.headerText="Package Type";            tmpoackagetype.dataField="packagetype";                        var tmptesttimeunit:AdvancedDataGridColumn=new AdvancedDataGridColumn();            tmptesttimeunit.headerText="Tester Time";            tmptesttimeunit.dataField="ttime";                        myadgmonthdata.addItem(tmpTester);            myadgmonthdata.addItem(tmpHRA);            myadgmonthdata.addItem(tmpUPD);            myadgmonthdata.addItem(tmpcprod);            myadgmonthdata.addItem(tmpoackagetype);            myadgmonthdata.addItem(tmptesttimeunit);                        tmpMonthADGDataGrid.groupedColumns=myadgmonthdata.toArray();        } 

读书人网 >flex

热点推荐