我在使用 itemRenderer 的一列中有一个带有 RadioButtons 的 DataGrid。DataGrid 驻留在 TitleWindow 上,每次用户单击按钮时都会创建和弹出该窗口。DataGrid 的 dataProvider 是一个 ArrayCollection,当显示窗口和 DataGrid 时,根据每个 ArrayCollection 项中的布尔值选择或不选择 RadioButtons。如果用户单击 DataGrid 中的不同 RadioButton,则 ArrayCollection 项将使用新的布尔值进行更新。
问题在于第一行中的 RadioButton 保持其选定值。对于所有其他行中的 RadioButton,当显示 TitleWindow 和 DataGrid 时,将根据 ArrayCollection 中项目的布尔值选择正确的 RadioButton。但如果第一行的 RadioButton 是需要选择的,则不是。我为 RadioButtons 上的 valueCommit 事件设置了一个侦听器,结果很有趣:除了第一个之外,所有行中 RadioButtons 的 valueCommit 只触发一次,所选值为 true。但是如果第一行中的 RadioButton 是应该被选中的,valueCommit 会被触发5 次,前 3 次将所选值报告为 true,最后 2 次将其报告为 false。
对此的任何帮助将不胜感激。已经报告了一个类似的错误,但它没有提供任何解决方法。
UPDATE 12/18/08 OK,valueCommit 被触发了 5 次,第四次为假,第五次为假,实际上对应于数据中的索引 2 ALWAYS,不管它是什么。所以 4 次报告第一个 RadioButton,最后一次为假,第五次报告索引 2 为假。诡异的!