2010-06-15 15 views
2

我想禁用一個按鈕,如果datagrid爲空,並且至少有一個條目應該啓用它。網格中的條目是在runtime.I試過這種 這是按鈕:在flex運行期間更改「啓用」按鈕的值

<mx:Button id="update" label="Update Contact" enabled="{isButtonEnabled()}"/> 

和功能被定義爲dg_contact是數據網格:

public function isButtonEnabled():Boolean 
{ 
    if(dg_contact.selectedIndex==-1) 
    { 
     return false; 
    } 
    else 
    { 
     return true; 
    } 
} 

我在哪裏去了?

回答

2

您的代碼不起作用,因爲isButtonEnabled()selectedIndex更改時不會被調用。您可以使用BindingUtils要做到這一點,但是這能夠在不BindingUtils

DataGrid做可以有項目,但有其selectedIndex等於-1。如果你不打擾一下如果一個項目被選中與否,它綁定到DataGriddataProvider

<mx:Button id="update" label="Update Contact" 
       enabled="{dg_contact.dataProvider.length != 0}"/> 

如果你想按鈕被選中的東西時,纔可以啓用,將其綁定到selectedIndex

的長度
<mx:Button id="update" label="Update Contact" 
       enabled="{dg_contact.selectedIndex != -1}"/> 
+0

thanx它工作得很完美 – 2010-06-15 12:33:44