2011-07-12 38 views
0

我有一個xml文件,它具有項目的開始日期和長度......我使用中繼器來加載每個項目。用戶的屏幕一次只顯示2周。我想這樣做,如果一個項目不在屏幕的兩週內,那麼該項目不會被加載。我可以通過對XML進行排序並找到要加載的正確項目並將其放入數組集合中,但有一個「移動日期」按鈕,允許用戶更改顯示的兩週。一旦兩個星期改變了,我將需要適合新的2周窗口的項目來展示。Flex 3:關於中繼器的條件語句的問題

目前,我的中繼器看起來是這樣的:

<mx:Repeater id="projectRP" dataProvider="{projectsHttp.lastResult.project}" recycleChildren="true"> 
    <Block:project id="wholeProject" 
     dbID="{Number(projectRP.currentItem.dbID)}" 
     projectID="{projectRP.currentIndex}" 
     workingTitle="{projectRP.currentItem.workingTitle}" 
     projectTitle="{projectRP.currentItem.projName}" 
     startDate="{textToDate(projectRP.currentItem.startDate)}" 
     projectPositions="{XML(projectRP.currentItem.positions)}" 
    /> 
</mx:Repeater> 

任何幫助將不勝感激!

回答

0

你不能用中繼器做到這一點,我相信我們在而不是之前多次告訴過你使用中繼器。如果有的話,filter的數據,或者做運行時添加項目或使用某種列表。

如果您使用列表,過濾器將自動工作。如果您使用運行時添加,則需要監聽ArrayCollection上的集合更改事件並執行您自己的算法。

+0

我可以用什麼來代替中繼器? – Brds

+0

列表或您自己的自定義容器,如我的答案中所述。 –

+0

你認爲你能爲我做一個堅實的例子嗎?我試過谷歌一個,但空手出來 – Brds