Автозаполнение в Flex 4.0 не отображает элементы в раскрывающемся списке - PullRequest
0 голосов
/ 23 августа 2010

Я новичок в Flex, ActionScript и Flash Builder (мне нужно обновить существующий проект).

Одна из проблем, с которыми я сталкиваюсь, заключается в том, что компонент автозаполнения, который, кажется, является частьюflex extras не отображает список элементов в выпадающем списке.По сути, я получаю список пустых предметов.Я знаю, что они есть, и они правильные элементы, потому что, как только я нажимаю на один, я получаю правильный текст в поле со списком.

мой код в mxml выглядит примерно так

<mx:FormItem label="Company:" width="750" fontSize="20" horizontalAlign="right" color="#000000" required="true">
    <ns1:AutoComplete enabled="true" labelField="CompanyName" textAlign="left" dropdownWidth="450" id="txtCompany" width="450"  />
</mx:FormItem>

В скрипте действия при загрузке формы в процессе инициализации выполняется вызов веб-службы, а результаты этого вызова устанавливаются в качестве поставщика данных для указанного выше поля автозаполнения, например:

public function handleGetCompanyResult(event:ResultEvent):void{
    txtCompany.dataProvider = event.result;
}

Как ясказал, что когда я набираю букву в текстовом поле, я вижу выпадающий список с полосой прокрутки слева, но он выглядит пустым.Когда я нажимаю на один из пунктов, я вижу название соответствующей компании в текстовом поле.Когда я устанавливаю точку останова, event.result является ArrayCollection proxyObjects.

Я пытался изменить его и поместить некоторые фиктивные данные, например, так:

public function handleGetCompanyResult(event:ResultEvent):void{
            var companyList:ArrayCollection = ArrayCollection(event.result);
            var displayCompanyList:ArrayCollection = new ArrayCollection();

            displayCompanyList.addItem({CompanyName:"Test1"});
            displayCompanyList.addItem({CompanyName:"Test2"});
            displayCompanyList.addItem({CompanyName:"Test3"});

            txtCompany.dataProvider = displayCompanyList;
}

Снова, когда я набираю «T»в текстовом поле я вижу выпадающий список с 3 пустыми элементами.Нажатие на третий элемент помещает «Test3» в текстовое поле.Но сами предметы не видны.

Это почти как если бы это был цвет шрифта / переднего плана, но я тоже немного поиграл с некоторыми из этих настроек.

Любая помощьбудет высоко ценится.

1 Ответ

1 голос
/ 30 августа 2010

Хорошо, оказывается, это был проект Flex 3, который был импортирован во Flex 4. Он работает там, где он есть, и ломается там, где его нет.Я создал простой проект Flex 4 с окном оповещения, и оно сработало.Я медленно переместил весь свой код в этот проект, и он работал.Он дал мне предупреждение о теге стилей о невозможности использовать или что-то в этом роде.Я просто удалил все теги стиля, и он работал нормально.Это не выглядит одинаково, поэтому мне придется немного поиграться с этим, но по крайней мере текст появился.Так что что-то делать с темами и компилятором Flashbuilder, использующим их во время компиляции.Если импорт не работал, он должен был полностью провалиться давным-давно.Я искал и искал любые файлы проектов или файлы кода, которые были связаны с CSS, стилями или темами.Но очевидно, что он использовал что-то, что было независимым от моего проекта, чтобы контролировать некоторые крошечные части моего проекта.Параметры контроля в моем проекте существенно зависели от некоторых факторов окружающей среды и идеалов.Какую боль отлаживать.

...