Флажок выбранный поле из проблемы XML - PullRequest
0 голосов
/ 09 февраля 2010

Я пытаюсь установить выбранное значение флажка от провайдера данных (XML-файл).

<mx:DataGridColumn width="75" headerText="show/hide" dataField="@hidden">
                <mx:itemRenderer>
                    <mx:Component>
                        <mx:CheckBox  selected="{data.@hidden}" />
                    </mx:Component>
                </mx:itemRenderer>
            </mx:DataGridColumn>

Проблема, с которой я столкнулся, заключается в том, что, я думаю, он не распознает атрибут в html как логическое "hidden =" false "или hidden =" true ". Я могу получить значение, но как заставить его распознавать значение как нечто отличное от строки?

Ответы [ 2 ]

0 голосов
/ 20 мая 2011

У меня была похожая проблема, чтобы обойти это, просто поместите этот фрагмент кода в фигурные скобки:

('false' == data.@hidden) ? false : true

В основном значение, которое вы собираетесь получить из данных. @ Hidden не будетлогическое значение, но строка, отсюда использование кавычек вокруг false.

0 голосов
/ 09 февраля 2010

Я думаю, вы можете обернуть его в тип {Boolean (data. @ Hidden)}

В качестве альтернативы, если упаковка не работает, вы можете объявить логическое значение

var myBool:Boolean = new Boolean();

А затем сделайте определение:

myBool = (data.@hidden=="true");

EDIT У меня не так много вашего кода, поэтому я не могу проверить это, но думаю, что он должен работать.

создайте компонент MXML на основе флажка с этим, для моего примера он будет называться ItemRendCheckBox:

<?xml version="1.0" encoding="utf-8"?>
<mx:CheckBox xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Script>
        <![CDATA[
            override public function set data( value:Object ):void{
                super.data = value;
                this.selected = Boolean(data);
            }
        ]]>
    </mx:Script>
</mx:CheckBox>

Затем в вашем dataGrid XML сделайте это:

<mx:DataGridColumn width="75" headerText="show/hide" dataField="@hidden">
  <mx:itemRenderer>
    <mx:Component>
       <mx:ItemRendCheckBox/>
    </mx:Component>
  </mx:itemRenderer>
</mx:DataGridColumn>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...