我遇到的情况是我使用数据网格(灵活),当我选择行时,我想启用/禁用网格下方的窗格。如果我选择了1行,我希望它启用,如果我有0,或者选择了多于1,我希望它被禁用。该窗格被初始禁用,并且启用在100%的时间内都很有效。 enabled="false"
仅在我选择了三行后才有效。如果我选择了两行,我可以证明我将其设置为false,但它不需要。
我已尝试invalidateDisplayList
,触发事件以再次设置enabled="false"
。似乎没什么用。
我在一个模块中工作,如果这有任何区别。如果我设置AlertInfoPanel.enabled=false
,它并不总是有效。
<mx:VBox>
<flexi:myGrid />
</mx:VBox>
<mx:VBox id="AlertInfoPanel" height="70%" width="100%" visible="{mAllowConfig}" includeInLayout="{mAllowConfig}" enabled="false" >
<mx:TabNavigator width="100%" height="100%" paddingTop="0" tabHeight="20" id="TAB_NAVIGATOR" >
<components:Tab1 label="{getToken('token_tab_general')}" id="generalInfoUI"/>
<components:Tab2 label="{getToken('token_tab_rules')}" />
</mx:TabNavigator>
</mx:VBox>
答案 0 :(得分:2)
我终于明白了。我需要致电AlertInfoPanel.validateNow()
。
我不明白为什么它有时会起作用,但VBOX上的validateNow()
似乎有效。
答案 1 :(得分:0)
试试这个
<mx:VBox id="AlertInfoPanel" height="70%" width="100%" visible="{mAllowConfig}"
includeInLayout="{mAllowConfig}" enabled="{myGrid.selectedItems.length==1}" />