在List中选中一个就会显示相应的 DataGrid 的列
动态显示/隐藏 DataGrid 的列<?xml version="1.0" encoding="utf-8"?>
动态显示/隐藏 DataGrid 的列
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" horizontalAlign="left"
动态显示/隐藏 DataGrid 的列    creationComplete
="initApp()">
动态显示/隐藏 DataGrid 的列
<mx:Script><![CDATA[
动态显示/隐藏 DataGrid 的列  import mx.controls.dataGridClasses.DataGridColumn;
动态显示/隐藏 DataGrid 的列  //import mx.controls.DataGrid;
动态显示/隐藏 DataGrid 的列  import mx.collections.XMLListCollection;
动态显示/隐藏 DataGrid 的列  
动态显示/隐藏 DataGrid 的列  [Bindable]
动态显示/隐藏 DataGrid 的列private var _xlcCatalog:XMLListCollection;    //the dataProvider for the DG
动态显示/隐藏 DataGrid 的列
动态显示/隐藏 DataGrid 的列//run by creationComplete
动态显示/隐藏 DataGrid 的列public function initApp():void
动态显示/隐藏 DataGrid 的列{
动态显示/隐藏 DataGrid 的列    _xlcCatalog = new XMLListCollection(xmlCatalog.product);      //wrap the XML product nodes in an XMLListCollection
动态显示/隐藏 DataGrid 的列    lstColumns.selectedItems = new Array(dgHideShow.columns[0]);  //set the column list dataProvider to the DataGridColumns
动态显示/隐藏 DataGrid 的列}//initApp
动态显示/隐藏 DataGrid 的列
动态显示/隐藏 DataGrid 的列private function hideShowColumns():void  {
动态显示/隐藏 DataGrid 的列   var aColumns:Array = dgHideShow.columns;
动态显示/隐藏 DataGrid 的列   var aSelectedColumns:Array = lstColumns.selectedItems;
动态显示/隐藏 DataGrid 的列   var dgc:DataGridColumn;
动态显示/隐藏 DataGrid 的列   var sDataField:String;
动态显示/隐藏 DataGrid 的列   var sDataFieldCur:String;
动态显示/隐藏 DataGrid 的列   var bFound:Boolean
动态显示/隐藏 DataGrid 的列   for (var i:int=0;i<aColumns.length;i++)  {
动态显示/隐藏 DataGrid 的列     bFound = false
动态显示/隐藏 DataGrid 的列     dgc = aColumns[i];
动态显示/隐藏 DataGrid 的列     sDataField = dgc.dataField;
动态显示/隐藏 DataGrid 的列     for (var j:int=0;j<aSelectedColumns.length;j++)  {
动态显示/隐藏 DataGrid 的列       sDataFieldCur = aSelectedColumns[j].dataField;
动态显示/隐藏 DataGrid 的列       if (sDataFieldCur == sDataField)  {
动态显示/隐藏 DataGrid 的列         bFound = true;
动态显示/隐藏 DataGrid 的列         break;
动态显示/隐藏 DataGrid 的列       }
动态显示/隐藏 DataGrid 的列     }//for (var j:
动态显示/隐藏 DataGrid 的列     if (bFound) {
动态显示/隐藏 DataGrid 的列       dgc.visible = true;
动态显示/隐藏 DataGrid 的列     }  
动态显示/隐藏 DataGrid 的列     else  {
动态显示/隐藏 DataGrid 的列       dgc.visible = false;
动态显示/隐藏 DataGrid 的列     }     
动态显示/隐藏 DataGrid 的列   }// for (var i:
动态显示/隐藏 DataGrid 的列}//
动态显示/隐藏 DataGrid 的列
动态显示/隐藏 DataGrid 的列
]]></mx:Script>   
动态显示/隐藏 DataGrid 的列  
<mx:VBox>
动态显示/隐藏 DataGrid 的列    
<mx:Label text="Multi-Select" />
动态显示/隐藏 DataGrid 的列    
<mx:Label text="Columns" />
动态显示/隐藏 DataGrid 的列    
<mx:List id="lstColumns" dataProvider="{dgHideShow.columns}" 
动态显示/隐藏 DataGrid 的列        labelField
="dataField" 
动态显示/隐藏 DataGrid 的列        allowMultipleSelection
="true"
动态显示/隐藏 DataGrid 的列        click
="hideShowColumns()"  />    
动态显示/隐藏 DataGrid 的列  
</mx:VBox>
动态显示/隐藏 DataGrid 的列
动态显示/隐藏 DataGrid 的列  
<mx:DataGrid id="dgHideShow" dataProvider="{_xlcCatalog}" rowCount="6" >
动态显示/隐藏 DataGrid 的列    
<mx:columns>
动态显示/隐藏 DataGrid 的列      
<mx:Array>
动态显示/隐藏 DataGrid 的列        
<mx:DataGridColumn headerText="Product" dataField="name" visible="true" />
动态显示/隐藏 DataGrid 的列        
<mx:DataGridColumn headerText="Description" dataField="description" visible="false" />
动态显示/隐藏 DataGrid 的列        
<mx:DataGridColumn headerText="Price" dataField="price" visible="false" />
动态显示/隐藏 DataGrid 的列        
<mx:DataGridColumn headerText="Series" dataField="series" visible="false" />
动态显示/隐藏 DataGrid 的列        
<mx:DataGridColumn headerText="Tri-Band" dataField="triband" visible="false" />
动态显示/隐藏 DataGrid 的列        
<mx:DataGridColumn headerText="Camera" dataField="camera" visible="false" />
动态显示/隐藏 DataGrid 的列       
</mx:Array>
动态显示/隐藏 DataGrid 的列    
</mx:columns>    
动态显示/隐藏 DataGrid 的列  
</mx:DataGrid>
动态显示/隐藏 DataGrid 的列
动态显示/隐藏 DataGrid 的列  
<mx:XML id="xmlCatalog">
动态显示/隐藏 DataGrid 的列    
<catalog>
动态显示/隐藏 DataGrid 的列      
<product productId="1">
动态显示/隐藏 DataGrid 的列        
<name>Nokia 6010</name>
动态显示/隐藏 DataGrid 的列        
<description>Easy to use without sacrificing style, the Nokia 6010 phone offers functional voice communication supported by text messaging, multimedia messaging, mobile internet, games and more</description>
动态显示/隐藏 DataGrid 的列        
<price>99.99</price>
动态显示/隐藏 DataGrid 的列        
<image>assets/pic/Nokia_6010.gif</image>
动态显示/隐藏 DataGrid 的列        
<series>6000</series>
动态显示/隐藏 DataGrid 的列        
<triband>false</triband>
动态显示/隐藏 DataGrid 的列        
<camera>false</camera>
动态显示/隐藏 DataGrid 的列        
<video>false</video>
动态显示/隐藏 DataGrid 的列        
<highlight1>MMS</highlight1>
动态显示/隐藏 DataGrid 的列      
<highlight2>Large color display</highlight2>
动态显示/隐藏 DataGrid 的列      
</product>
动态显示/隐藏 DataGrid 的列      
<product productId="2">
动态显示/隐藏 DataGrid 的列        
<name>Nokia 3100 Blue</name>
动态显示/隐藏 DataGrid 的列        
<description>Light up the night with a glow-in-the-dark cover - when it's charged with light you can easily find your phone in the dark. When you get a call, the Nokia 3100 phone flashes in tune with your ringing tone. And when you snap on a Nokia Xpress-on™ gaming cover*, you'll get luminescent light effects in time to the gaming action.</description>
动态显示/隐藏 DataGrid 的列        
<price>139</price>
动态显示/隐藏 DataGrid 的列        
<image>assets/pic/Nokia_3100_blue.gif</image>
动态显示/隐藏 DataGrid 的列        
<series>3000</series>
动态显示/隐藏 DataGrid 的列        
<triband>true</triband>
动态显示/隐藏 DataGrid 的列        
<camera>false</camera>
动态显示/隐藏 DataGrid 的列        
<video>false</video>
动态显示/隐藏 DataGrid 的列        
<highlight1>Glow-in-the-dark</highlight1>
动态显示/隐藏 DataGrid 的列      
<highlight2>Flashing lights</highlight2>
动态显示/隐藏 DataGrid 的列      
</product>
动态显示/隐藏 DataGrid 的列      
<product productId="3">
动态显示/隐藏 DataGrid 的列        
<name>Nokia 3100 Pink</name>
动态显示/隐藏 DataGrid 的列        
<description>Light up the night with a glow-in-the-dark cover - when it's charged with light you can easily find your phone in the dark. When you get a call, the Nokia 3100 phone flashes in tune with your ringing tone. And when you snap on a Nokia Xpress-on™ gaming cover*, you'll get luminescent light effects in time to the gaming action.</description>
动态显示/隐藏 DataGrid 的列        
<price>139</price>
动态显示/隐藏 DataGrid 的列        
<image>assets/pic/Nokia_3100_pink.gif</image>
动态显示/隐藏 DataGrid 的列        
<series>3000</series>
动态显示/隐藏 DataGrid 的列        
<triband>true</triband>
动态显示/隐藏 DataGrid 的列        
<camera>false</camera>
动态显示/隐藏 DataGrid 的列        
<video>false</video>
动态显示/隐藏 DataGrid 的列        
<highlight1>Glow-in-the-dark</highlight1>
动态显示/隐藏 DataGrid 的列      
<highlight2>Flashing lights</highlight2>
动态显示/隐藏 DataGrid 的列      
</product>
动态显示/隐藏 DataGrid 的列      
<product productId="4">
动态显示/隐藏 DataGrid 的列        
<name>Nokia 3120</name>
动态显示/隐藏 DataGrid 的列        
<description>Designed for both business and pleasure, the elegant Nokia 3120 phone offers a pleasing mix of features. Enclosed within its chic, compact body, you will discover the benefits of tri-band compatibility, a color screen, MMS, XHTML browsing, cheerful screensavers, and much more.</description>
动态显示/隐藏 DataGrid 的列        
<price>159.99</price>
动态显示/隐藏 DataGrid 的列        
<image>assets/pic/Nokia_3120.gif</image>
动态显示/隐藏 DataGrid 的列        
<series>3000</series>
动态显示/隐藏 DataGrid 的列        
<triband>true</triband>
动态显示/隐藏 DataGrid 的列        
<camera>false</camera>
动态显示/隐藏 DataGrid 的列        
<video>false</video>
动态显示/隐藏 DataGrid 的列        
<highlight1>Multimedia messaging</highlight1>
动态显示/隐藏 DataGrid 的列      
<highlight2>Animated screensavers</highlight2>
动态显示/隐藏 DataGrid 的列      
</product>
动态显示/隐藏 DataGrid 的列      
<product productId="5">
动态显示/隐藏 DataGrid 的列        
<name>Nokia 3220</name>
动态显示/隐藏 DataGrid 的列        
<description>The Nokia 3220 phone is a fresh new cut on some familiar ideas - animate your MMS messages with cute characters, see the music with lights that flash in time with your ringing tone, download wallpapers and screensavers with matching color schemes for the interface.</description>
动态显示/隐藏 DataGrid 的列        
<price>159.99</price>
动态显示/隐藏 DataGrid 的列        
<image>assets/pic/Nokia_3220.gif</image>
动态显示/隐藏 DataGrid 的列        
<series>3000</series>
动态显示/隐藏 DataGrid 的列        
<triband>false</triband>
动态显示/隐藏 DataGrid 的列        
<camera>true</camera>
动态显示/隐藏 DataGrid 的列        
<video>false</video>
动态显示/隐藏 DataGrid 的列        
<highlight1>MIDI tones</highlight1>
动态显示/隐藏 DataGrid 的列      
<highlight2>Cut-out covers</highlight2>
动态显示/隐藏 DataGrid 的列      
</product>
动态显示/隐藏 DataGrid 的列    
</catalog>
动态显示/隐藏 DataGrid 的列  
</mx:XML>
动态显示/隐藏 DataGrid 的列
</mx:Application>
动态显示/隐藏 DataGrid 的列


 

相关文章: