изменение «включенного» значения кнопки во время выполнения в flex - PullRequest
2 голосов
/ 15 июня 2010

Я хочу, чтобы кнопка была отключена, если сетка данных пуста, и она должна быть включена, когда есть хотя бы одна запись. Записи в сетке создаются во время выполнения.*

и функция определена так: где dg_contact - это сетка данных:

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

где я иду не так?

1 Ответ

2 голосов
/ 15 июня 2010

Ваш код не работает, потому что isButtonEnabled() не вызывается при изменении selectedIndex. Вы можете использовать BindingUtils для этого, но это можно сделать без BindingUtils

DataGrid может иметь предметы, но их selectedIndex равно -1. Если вас не беспокоит, выбран элемент или нет, привязайте его к длине DataGrid dataProvider

<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}"/>
...