2011-04-08 65 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)一起使用,并使用自定义项目渲染器创建您需要的单选按钮。将数据对象的适当绑定添加到单选按钮(甚至可以执行双向绑定以快速保存)。

相关问题