Установите альтернативный цвет для AdvancedDataGrid - один для родительского узла, а другой для дочерних узлов - PullRequest
3 голосов
/ 06 апреля 2011

Кажется, есть разные способы установить цвет фона для сетки данных.

См .: Как динамически изменить цвет фона строки сетки данных?

См: Настройка цвета фона для строки сетки данных в Adobe Flex

У меня есть расширенная сетка данных с HierarchicalData в качестве источника данных.Для этого мне нужно установить альтернативный цвет фона один для родительского узла, а другой для дочерних узлов.

<mx:AdvancedDataGrid id="electionGrid" alternatingItemColors="[#449933, #994433]" width="100%" height="70%" folderOpenIcon="{null}" folderClosedIcon="{null}" defaultLeafIcon="{null}" editable="true">
        <mx:dataProvider>
            <mx:HierarchicalData source="{electionSummary}" childrenField="electionOptions"/>
        </mx:dataProvider>
        <mx:columns>
            <mx:AdvancedDataGridColumn dataField="product" headerText="Product" editable="false"/>              
            <mx:AdvancedDataGridColumn dataField="accountID" headerText="Account ID" editable="false"/>
            <mx:AdvancedDataGridColumn dataField="accountDescription" headerText="Account Description" editable="false"/>
            <mx:AdvancedDataGridColumn dataField="electionOption" headerText="Election Options" editable="false"/>
            <mx:AdvancedDataGridColumn dataField="electionStatus" headerText="Election Status" editable="true"/>
            <mx:AdvancedDataGridColumn dataField="entitledQuantity" headerText="Entitled Quantity"/> 
            <mx:AdvancedDataGridColumn dataField="electedQuantity" headerText="Elected Quantity"/>
            <mx:AdvancedDataGridColumn dataField="percentelectionDetails" headerText="Election %Details"/>
            <mx:AdvancedDataGridColumn dataField="comments" headerText="Comments"/>
        </mx:columns>        
    </mx:AdvancedDataGrid>

Я использовал стиль alternatingItemColors, но он не работает должным образом.

alternatingItemColors="[#449933, #994433]"

Мне нужно установить альтернативный цвет для родительского узла и дочернего узла.

Hiearchical Data:

<mx:ArrayCollection id="electionSummary">
    <model:Elections product="Global PB" accountID="10473834" accountDescription="Fund 1.2 Account" entitledQuantity="250000"
                        electedQuantity="0" percentelectionDetails="0">    
        <model:electionOptions>
            <mx:ArrayCollection id="optionData1">
                <model:Options electionStatus="Not Submitted"/>
            </mx:ArrayCollection>
        </model:electionOptions>
    </model:Elections>

    <model:Elections product="Global PB" accountID="10473834" accountDescription="Fund 1.2 Account" entitledQuantity="250000"
                        electedQuantity="0" percentelectionDetails="0">    
        <model:electionOptions>
            <mx:ArrayCollection id="optionData2">
                <model:Options electionStatus="Not Submitted"/>
            </mx:ArrayCollection>
        </model:electionOptions>
    </model:Elections>

    <model:Elections product="Global PB" accountID="10473834" accountDescription="Fund 1.2 Account" entitledQuantity="250000"
                        electedQuantity="0" percentelectionDetails="0">    
        <model:electionOptions>
            <mx:ArrayCollection id="optionData3">
                <model:Options electionStatus="Not Submitted"/>
            </mx:ArrayCollection>
        </model:electionOptions>
    </model:Elections>
</mx:ArrayCollection>

Это также может быть достигнуто путем переопределения функции drawRowBackground в сетке данных.

См .: http://flexpearls.blogspot.com/2008/02/row-background-color-in.html

Существует ли простой способ выполнить альтернативную настройку цвета для высокотехнологичных данных, используемых в DataGrid.

1 Ответ

1 голос
/ 06 апреля 2011

Короче, нет. Насколько мне известно, не существует "простого" способа установить различные цвета чередующихся строк для AdvancedDataGrid в зависимости от глубины (родитель / ребенок).

Самое близкое к тому, что вам нужно, это свойство depthColors, но оно установит для всех строк на этой глубине цвет, а не чередующиеся строки.

...