2011-04-08 62 views
0

我有一個單選按鈕的列表,我希望能夠以編程方式設置值併爲用戶設置手動值。生成火花單選按鈕的最佳做法是什麼?

我有一個數據項的小列表,我想在單選按鈕列表中顯示爲選項。對象存儲在模型對象中,與當前選定的項目一樣。當前選擇的項目綁定到單選按鈕組。單選按鈕是使用火花列表生成的。

我在編程設置列表時遇到問題 - 每當將單選按鈕組上的當前值設置爲列表中的第一個值時,所有單選按鈕都將被清除,其中第一個應該被選中。在檢查調試器時,我發現可能的原因 - 組中有兩個單選按鈕指向相同的值,其中一個未顯示。我最好的猜測是列表控件已經創建了一個額外的項目渲染器,它在需要滾動列表的情況下保留它。

有沒有辦法基於ArrayCollection創建radioButton而不使用列表?否則,是否有可能阻止列表生成額外的項目?

+0

請發送郵編。 – 2011-04-08 19:25:21

+0

@J_A_X:代碼跨越幾個類,總體上更容易產生混淆,而不是產生幫助。 – 2011-04-08 19:30:36

回答

0

最後,我給了最好的手指火花並使用了一箇中繼器,它創建了正確數量的radioButton,沒有額外的功能。它可能會很慢,但是對一組少於10個項目的緩慢迭代是O(我不在乎)。

+0

即使您無法讓DataGroup像J_A_X建議的那樣工作,您也許應該只使用一行或兩個AS來爲您生成它們,而不是訴諸於越野車資源飢餓的中繼器。它有這樣一個聲譽的原因。我有幾個較老的項目在中繼器上有單選按鈕,並且它們工作正常,但是人類渲染速度慢。如果我可以回去,我會繞着陣列創建按鈕。如果你不需要「綁定」到你的dataProvider,這種方式是非常快速和容易的。 – 2011-07-06 19:12:39

3

DataGroup與dataProvider(保存數據的對象的ArrayList)一起使用,並使用自定義項目渲染器創建您需要的單選按鈕。將數據對象的適當綁定添加到單選按鈕(甚至可以執行雙向綁定以快速保存)。

相關問題