2011-12-30 36 views
0

我有一個數據網格,允許用戶更改和保存列的寬度和可見性。我想添加一個重置按鈕,將數據網格重置爲它的原始mxml。這是原始的數據網格代碼。基於其原始mxml重置組件

<mx:DataGrid x="10" y="47" height="159" width="250" dataProvider="{acOffspring}" id="offspring_dg"> 
    <mx:columns> 
     <mx:DataGridColumn headerText="Tag" visible="true" dataField="animal_ptag" width="121"/> 
     <mx:DataGridColumn headerText="Sex" dataField="animal_sex" width="45"/> 
     <mx:DataGridColumn headerText="Birth Date" visible="true" dataField="animal_birthdate" width="82"/> 
     <mx:DataGridColumn headerText="Name" visible="false" dataField="animal_name" width="82"/> 
     <mx:DataGridColumn headerText="Status" visible="false" dataField="status_status" width="82"/> 
     <mx:DataGridColumn headerText="Breed" visible="false" dataField="breed_breed" width="82"/> 
    </mx:columns> 
</mx:DataGrid> 
+0

您有問題要問? – JeffryHouser 2011-12-30 17:22:36

+0

用戶更改了某些列的寬度和可見性後,如何重置我的數據網格以顯示其原始mxml? – Adam 2011-12-30 17:27:09

回答

0

你有兩個選擇,我看到:

首先是摧毀該組件並創建它的一個新的實例。就像這樣:

container.removeChild(offspring_dg); 
offspring_dg= new myDataGrid(); 
container.addChild(offspring_dg); 

第二個是存儲在某種方式默認值,然後做一個循環和重置所有相關的屬性。事情是這樣的:

Column1InitialWidth = offspring_dg.columns[0].width 
Column1InitialVisibility = offspring_dg.columns[0].visibility 
etc... 

當談到時間重新設置他們只是做同樣的事情在反向:

offspring_dg.columns[0].width = Column1InitialWidth 
offspring_dg.columns[0].visibility = Column1InitialVisibility 

我敢肯定,這種方法可以被封裝多一點,如果你正在處理有很多列。

+0

感謝您的選擇。 – Adam 2011-12-30 23:23:31

相關問題