Я загружаю свою сетку данных с данными из файла XML, как в примере ниже. Мой XML-файл состоит из 4 столбцов данных, которые отображаются в моей таблице данных. Однако я хочу, чтобы в сетке данных отображались только определенные столбцы на основе предоставленного мной массива ArrayList. В этом примере ArrayList состоит из двух столбцов, а именно «Id» и «Name». Я хочу знать, как лучше всего делать то, что я хочу. Поскольку я уже загрузил сетку, и я хочу перебрать столбцы и проверить, содержится ли имя столбца в списке, тогда, если он не виден, я устанавливаю его ширину в ноль.
Or is there another way whereby before loading the grid itself I can do checks between the datagrid dataProvider and the ArrayList, and then populate the grid accordingly. So here the visible attribute will not be used.
Anyone who can put some light on this?
MY MXML
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<fx:XML id="order" source="orderlist.xml"/>
<s:XMLListCollection id="show" source="{order.order}"/>
<s:ArrayList id="mylist">
<String>Id</String>
<String>Name</String>
</s:ArrayList>
</fx:Declarations>
<mx:DataGrid dataProvider="{show}" rowCount="4">
<mx:columns>
<mx:DataGridColumn headerText="Order number" dataField="Id" />
<mx:DataGridColumn headerText="Name" dataField="Name" />
<mx:DataGridColumn headerText="Surname" dataField="Surname" />
<mx:DataGridColumn headerText="Age" dataField="Age"/>
</mx:columns>
</mx:DataGrid>
<s:Button id="test_btn" click="Handler_to_set_DatagridColumns();"/>
</s:Application>
MY XML FILE
<?xml version="1.0" encoding="utf-8"?>
<Orderlist>
<order Id="1" Name="Albert" Surname="Schineider" Age="45"/>
<order Id="2" Name"Sara" Surname="Gutierrez" Age="25"/>
<order> Id="3" Name="Alain" Surname='Bulquee" Age="40"/>
</Orderlist>
Thanks for your help.