Невозможно скрыть столбцы во Flex - PullRequest
0 голосов
/ 24 марта 2011

Я пытаюсь скрыть целый столбец, если все содержимое равно нулю.

<mx:DataGrid width="100%" dataProvider="{service}" id="dg1">
    <mx:columns>
        <mx:DataGridColumn headerText="Location Origin" dataField="originLocation" visible="{data.originLocationExists}" />
        <mx:DataGridColumn headerText="Location Destination" dataField="destinationLocation" visible="{data.destinationLocationExists}" />  
        <mx:DataGridColumn headerText="Location Group Origin" dataField="originLocationGroup" visible="{data.originLocationGroupExists}" />
        <mx:DataGridColumn headerText="Location Group Destination" dataField="destinationLocationGroup" visible="{data.destinationLocationGroupExists}"/>               
    </mx:columns>
</mx:DataGrid>

В приведенном выше примере иногда все данные в «Происхождении местоположения» будут нулевыми, поэтому в свойстве visible я помещаю значение, которое является истинным или ложным в зависимости от данных. Но даже если все данные имеют нулевое значение и свойство visible равно false, оно все равно остается видимым.

Что я могу сделать, чтобы это исправить? И я бегу во Flex 3.2

Ответы [ 2 ]

1 голос
/ 24 марта 2011

Чтобы согласиться с ответом J_A_X, вы также можете добавить eventListener для CollectionEvent.COLLECTION_CHANGE события dataProvider и затем оценить, нужно ли скрыть какие-либо столбцы или нет.

1 голос
/ 24 марта 2011

Не думаю, что вы правильно поняли концепцию столбцов. Столбцы не являются средствами визуализации элементов. Они не получают свойство «data» от данного dataProvider, если у вас в коде нет чего-то, устанавливающего свойство «data» вашего контейнера (все компоненты имеют свойство «data» для возможного использования в средствах визуализации элементов). *

Таким образом, по сути, data.originLocationExists всегда будет нулевым и никогда не будет связываться, делая ваши столбцы всегда видимыми. Возможно, вы просто хотели сделать {service.originLocationExists} вместо этого, так как это будет соответствовать вашим данным, если «сервис» имеет это собственное свойство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...