2009-06-11 23 views
2

我正在尋找一個DataGrid,在Flex中使用可擴展行的實現。我不想使用高級DataGrid控件,因爲它太慢而且太複雜。擴展行的Flex數據網格控件

所需的行爲如下所示:當您單擊一行時,面板會在具有某些詳細信息的行之間打開,其餘行將向下移動,並且當您再次單擊面板關閉且行返回時到正常。如果您單擊另一行,則展開的那一行將展開,並且您單擊的行將展開。

回答

0

我們擴展了Flex Datagrid組件,併爲此使用了自定義項目渲染器。實際上,我們展開一個單元格並調整其大小以覆蓋同一行中的所有其他單元格。雖然這可能不是最簡單的解決方案,但Datagrid速度非常快。

0

您可能需要使用自定義的ItemEditor來響應點擊並展開自己。

variableRowHeight屬性也可能需要設置爲true。

+0

他沒有提及編輯。此外,DataGrid的問題是它沒有整個行的渲染器,它的每個列都有渲染器。所以他需要找到一種方法在行之間插入細節面板,或者讓每個渲染器顯示一部分附加細節,這會使其看起來很醜陋,至少可以說... – 2009-06-11 15:57:59

+0

這就是爲什麼您使用ItemEditor而不是ItemRenderer。 ItemEditor僅在單擊單元格時顯示。 – CookieOfFortune 2009-06-11 16:28:47

+0

對不起,我仍然沒有看到這會有什麼幫助。除非您可以使itemEditor不受列限制並出現在點擊行下方,而不會遮擋下一行。 – 2009-06-12 10:27:09

0

您所描述的行爲聽起來像一個手風琴組件很糟糕,雖然這聽起來不像你正在尋找的。另一種方法是使用帶有自定義itemRenderer的List組件,該組件在處於選定(單擊)狀態時展開,並在未選中時展開。