значение флажка flex не выбрано из базы данных

У меня есть небольшая гибкая сетка данных. DataProvider - это xmlList. У меня есть два столбца: userList и права пользователя. Столбец разрешений пользователей в виде флажков. Значения флажка хранятся в mySQL как 0 и 1. Возвращая его из PHP, я конвертирую их в true или false. Он правильно возвращает значения во внешний интерфейс.

Но внутри itemrenderer для этого флажка не установлено значение true или false. Либо все правда, либо все ложно.

Вот мой код. http://www.freeimagehosting.net/uploads/4ba76933d3.gif

Как правильно установить значение флажков из значений БД?

Пожалуйста помоги.


person Blue Sky    schedule 21.05.2010    source источник


Ответы (1)


Изменять

<mx:CheckBox selected="{data.@selected}"/>

to

<mx:CheckBox selected="{Boolean(Number(data.@selected))}"/> (спасибо исправлено на Amarghosh)

и он должен работать нормально.

person Ladislav    schedule 21.05.2010
comment
Я бы использовал selected="{Boolean(Number(data.@selected))}" или {data.@selected == "1"}, чтобы быть уверенным. Строка "0" (как и любая другая непустая строка) оценивается как true в javascript (и, безусловно, в ActionScript тоже). - person Amarghosh; 21.05.2010
comment
Я пропустил, что у него было 0, 1 как возможности, мое решение было, если PHP вернет строки true и false :) - person Ladislav; 21.05.2010
comment
Привет, спасибо большое, Ладислав и Амар. selected = {Boolean (Number (data. @ selected))} сработало. - person Blue Sky; 21.05.2010
comment
Опять же, строка "false", как и любая другая непустая строка, оценивается как логическое true. Попробуйте этот код и убедитесь в этом сами if("false") alert("true"); else alert("false"); - person Amarghosh; 21.05.2010
comment
О, черт, протестировал его с помощью Boolean ('true'), а не Boolean ('false') ... просто показывает, что вам нужно проверять каждый случай :) Спасибо - person Ladislav; 21.05.2010
comment
После того, как пользователь установит несколько флажков, как лучше всего сохранить эти значения обратно в базу данных? В качестве бэкэнда мы используем WAMP-сервер. Спасибо. - person Blue Sky; 21.05.2010
comment
Вероятно, используя XML или JSON и отправив данные в PHP, который обновляет базу данных ... - person Ladislav; 21.05.2010
comment
@Ladislav Edge дела ... они никогда не перестанут приходить! +1 :) - person Amarghosh; 21.05.2010