0

ボタンクリックですべてのチェックボックスの選択を解除しようとしています。次のようなバインドされたブール変数を作成してみました。

[Bindable]
public var allselected:Boolean;

次に、私のチェックボックスで:

<s:CheckBox selected="{allselected}" label="PT Identified" />
<s:CheckBox selected="{allselected}" label="Chart Reviewed"/>
<s:CheckBox selected="{allselected}" label="H&amp;P"/>
<s:CheckBox selected="{allselected}" label="Permit Signed"/>

別のボタンをクリックして、ブール変数をfalseに設定しましたが、チェックボックスをオンにした後は何も起こりません。ブール変数をtrueに設定すると、すべてのチェックボックスがオンになります。したがって、すべてを選択したい場合は、機能します。ただし、選択したすべてのチェックボックスの選択を解除したいと思います。

チェックボックスはタイルグループ内にのみ存在し、データグリッドまたはデータグループ内にはありません。これを行う簡単な方法があると思いますが、私はまだそれを理解していません。任意の提案をいただければ幸いです。

4

2 に答える 2

0

私は汚い解決策を持っていました。チェックボックスにIDを指定し、ボタンクリックに次の関数を使用します。

protected function untick_clickHandler(event:MouseEvent):void{
            cb1.selected=false;
            cb2.selected=false;
            cb3.selected=false;
        }
于 2012-04-23T18:41:24.003 に答える
0
public function findChild(numChilds:int, parent:Object):void
        {
            for (var i:int = 0; i < numChilds; i++)
            {
                var obj:Object = parent.getChildAt(i);
                if(obj.hasOwnProperty('selected'))
                {
                    if(obj.selected == true)
                    {
                        obj.selected = false;
                    }
                }
                if (obj is DisplayObjectContainer)
                {
                    // search for children
                    var children:int = obj.numChildren;
                    findChild(children, obj);
                }
            }
        }

使用法:

var elems:int = checklistVgroup.numChildren;  // Get the number of elements

findChild(elems, checklistVgroup);            // Use our function
于 2012-04-24T16:06:55.533 に答える