flex выберите значение из Combo - PullRequest
       10

flex выберите значение из Combo

1 голос
/ 22 сентября 2010

Моя цель - создать универсальную функцию, которая выбирает значение в выпадающем списке в соответствии со значением.(Мой comoBox содержит arrayCollection в качестве dataProvider.)

Трудно получить имя свойства в режиме выполнения

public function selectComboByLabel(combo:ComboBox , propetryName:String, value:String):void {
    var dp:ArrayCollection = combo.dataProvider as ArrayCollection;
    for (var i:int=0;i<dp.length;i++) {
        if (dp.getItemAt(i).propertyName==value) {
            combo.selectedIndex = i;
            return;
        }
    }
}

строки if (dp.getItemAt (i) .propertyName == value) конечно неверно.Это должно быть что-то вроде: dp.getItemAt (i) .getPropertyByName (propertyName)

Любая подсказка, как это сделать?

Ответы [ 2 ]

2 голосов
/ 22 сентября 2010

В дополнение к тому, что сказал Flextras, вы также можете повторить цикл for, чтобы его было легче читать:

for each(var item:Object in dp) {
      if(item[propertyName] == value) {
          combo.selectedItem = item;
          return;
      }
  }
2 голосов
/ 22 сентября 2010

Не используйте обозначение свойства объекта.Сделайте это:

dp.getItemAt(i)[propertyName]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...