сбросить компонент на основе его исходного mxml - PullRequest
0 голосов
/ 30 декабря 2011

У меня есть сетка данных, которая позволяет пользователю изменять и сохранять ширину столбцов и видимость.Я хотел бы добавить кнопку сброса, которая бы просто сбрасывала сетку данных в исходный 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>

1 Ответ

0 голосов
/ 30 декабря 2011

У меня есть два варианта:

Первый - уничтожить компонент и создать его новый экземпляр.Например:

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 

Я уверен, что этот подход может быть инкапсулирован немного больше, еслиВы имеете дело с большим количеством столбцов.

...