У меня есть DataGrid с RadioButtons в одном столбце, используя itemRenderer. DataGrid находится в TitleWindow, которое создается и открывается каждый раз, когда пользователь нажимает кнопку. DataProvider для DataGrid - это ArrayCollection, а RadioButtons выбираются или не основываются на логическом значении в каждом элементе ArrayCollection, когда отображаются окно и DataGrid. Если пользователь щелкает другую кнопку RadioButton в DataGrid, элементы ArrayCollection обновляются новыми логическими значениями.
Проблема в том, что RadioButton в первой строке сохраняет свое выбранное значение. Если во всех остальных строках есть RadioButtons, когда отображаются TitleWindow и DataGrid, правильный RadioButton выбирается на основе логического значения из элемента в ArrayCollection. Но если RadioButton первого ряда - тот, который должен быть выбран, это не так. Я настроил прослушиватель для события valueCommit на RadioButtons, и результаты интересны: valueCommit для RadioButtons во всех строках, кроме первого, запускается только один раз, с выбранным значением, равным true. Но если RadioButton в первой строке является тем, который должен быть выбран, valueCommit срабатывает 5 раз , первые 3 раза сообщают о выбранном значении как true, а последние 2 раза сообщают о нем как false.
Любая помощь по этому вопросу будет принята с благодарностью. Об аналогичной ошибке было сообщено , но она не предоставляет обходного пути.
ОБНОВЛЕНИЕ 18/18/08
Хорошо, valueCommit запускается 5 раз, четвертое - ложь, а пятое ложное время - ложь, фактически соответствует индексу 2 в данных ВСЕГДА, независимо от того, что это. Таким образом, 4 раза сообщается о первом значении RadioButton, причем последний раз ложен, а в пятый раз указывается индекс 2 как ложь. Weird!