itemRenderer を使用して、1 つの列に RadioButtons を含む DataGrid があります。DataGrid は、ユーザーがボタンをクリックするたびに作成およびポップアップされる TitleWindow に常駐します。DataGrid の dataProvider は ArrayCollection であり、RadioButton は、ウィンドウと DataGrid が表示されるときに、各 ArrayCollection アイテムのブール値に基づいて選択されるかどうかが決定されます。ユーザーが DataGrid 内の別の RadioButton をクリックすると、ArrayCollection 項目が新しいブール値で更新されます。
問題は、最初の行の RadioButton が選択された値を保持していることにあります。他のすべての行に RadioButton がある場合、TitleWindow と DataGrid が表示されると、ArrayCollection 内のアイテムのブール値に基づいて正しい RadioButton が選択されます。ただし、最初の行の RadioButton を選択する必要がある場合は、そうではありません。RadioButton の valueCommit イベントのリスナーをセットアップしたところ、興味深い結果が得られました。最初の行を除くすべての行の RadioButton の valueCommit が 1 回だけ発生し、選択された値が true になります。ただし、最初の行の RadioButton が選択されるべきものである場合、 valueCommit は5 回発生し、最初の 3 回は選択された値を true として報告し、最後の 2 回はそれを false として報告します。
これに関するヘルプは大歓迎です。同様のバグが報告されていますが、回避策はありません。
UPDATE 12/18/08 OK、valueCommit は 5 回起動され、4 回目は false であり、5 回目の false は false であり、実際にはデータのインデックス 2 に常に対応しています。したがって、最初の RadioButton を 4 回報告し、最後の回は false であり、5 回目はインデックス 2 を false として報告します。変!