Apache flex 从xml问题中选中复选框字段

Apache flex 从xml问题中选中复选框字段,apache-flex,Apache Flex,我试图从数据提供程序(xml文件)设置复选框的选定值 我想,我遇到的问题是,它没有将html中的属性识别为boolean“hidden=“false”或hidden=“true”。我可以获取值,但如何使它将值识别为字符串以外的内容?我认为可以将其包装为类型{boolean(data.@hidden)} 如果包装无效,可以声明布尔值 var myBool:Boolean = new Boolean(); 然后做一个决定: myBool = (data.@hidden=="true"); 编

我试图从数据提供程序(xml文件)设置复选框的选定值



我想,我遇到的问题是,它没有将html中的属性识别为boolean“hidden=“false”或hidden=“true”。我可以获取值,但如何使它将值识别为字符串以外的内容?

我认为可以将其包装为类型{boolean(data.@hidden)}

如果包装无效,可以声明布尔值

var myBool:Boolean = new Boolean();
然后做一个决定:

myBool = (data.@hidden=="true");
编辑 我没有太多你的代码,所以我不能真正测试这个,但我认为它应该工作

使用此复选框创建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>

我也遇到了类似的问题,要解决这个问题,只需将这个代码片段放到您的花括号中:

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

基本上是从数据中获得的值。@hidden不是布尔值,而是字符串,因此在false周围使用引号。

该类型不起作用。.我在哪里进行包装?当我创建一个并尝试跟踪数据时。@hidden,它说它不知道数据是什么。我在Upper文档中进行此操作吗?请查看我的编辑,我不确定你说的upperDocument是什么意思,因为你没有向我展示你的大部分代码。嗯,我肯定是做错了什么,这仍然不起作用,但很高兴知道怎么做。好的,这与复选框有关,只是没有对布尔值做出反应,所有的布尔值都正确地跟踪出来,但是当它如果要取消选中或选中复选框,它们都已被选中。很难确定它们是否正确跟踪,请记住trace会自动对该项执行toString()方法。因此,跟踪(true)=跟踪(“true”);最好在其中添加一个条件:if(myBool==“true”){trace(“text true”)}否则if(myBool==true){trace(“布尔值为“真”);
('false' == data.@hidden) ? false : true