2010-03-08 47 views
0

說我有這個AdvancedDataGrid:具有可展開節點的Flex AdvancedDataGrid:可能使alternateItemColors在每個可展開節點之後重新開始?

<mx:AdvancedDataGrid id="grid" 
height="384" 
width="100%" 
styleName="aStyleName" 
displayItemsExpanded="false" 
groupItemRenderer="SomeRenderer" 
draggableColumns="false" 
defaultLeafIcon="{null}" 
folderClosedIcon="{null}" 
folderOpenIcon="{null}"> 
<mx:columns> 
    <!-- a bunch of AdvancedDatagridColumns --> 
</mx:columns> 
</mx:AdvancedDataGrid> 

這就像一棵樹,即某些節點是「集合」,它可以摺疊和展開。

該網格的樣式具有指定的交替項目顏色數組。數組長度爲2,這意味着行與光之間交替。

問題是,即使使用自定義groupItemRenderer,交替行非常令人討厭替代 :)無論該行是可擴展節點還是數據行。緊接在任何可展開行下方的行現在可以是顏色,並且可展開行也可以獲得顏色。我偏好使用明暗交替來跳過可展開的行並在每行之後重新啓動明暗序列,但完全跳過可展開的行。

我讓groupItemRenderer佔用,但是顯示很多列並給它一個灰色背景,但行顏色仍然顯示在項目渲染器後面,即使渲染的高度設置爲100%。

如果我現在還沒有失去所有人,有沒有人對如何做到這一點有任何想法?我是否必須擴展AdvancedDataGrid並重寫drawRowBackgrounds方法,還是有更簡單的解決方案?

回答

0

我的解決方案不盡人意,因爲它可能不會使用交替的行顏色。我想保持這種開放性,因爲它仍然沒有完成我想要做的事情,但是有人用他自己的問題回答了這個問題,而不是我的問題的答案,從而拖低了我的接受率。如果有人回答很好,我會取消選中這個回覆並檢查一下。對不起,但我不確定這裏還有什麼要做。