Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   комбобокс выбрать строку незная её selectedIndex (http://www.flasher.ru/forum/showthread.php?t=138087)

lighto 30.03.2010 09:20

комбобокс выбрать строку незная её selectedIndex
 
В комбобоксе есть несколько строк
Как мне прокрутить комбобокс до заданной строки?

Т.е. к примеру если мне надо прокрутить комбо до 3-й позиции мне надо сделать так
combobox1.selectedIndex=2;

а если к примеру я не имею этого числа позиции но я знаю что в списке
присутствует слово Москва а какой по счету она стоит в списке мне неизвестно??

BeDLiNt 30.03.2010 09:36

Ищите в вашей коллекции элемент по нужному вам критерию и его индекс используйте для выделения.

lighto 30.03.2010 09:44

Пробовал но тогда он неставит нужную позицию а просто добавляет в коллекцию новый элемент, заменяя первый элемент...
тут выбираю нужный
Код AS3:

combobox1.selectedItem.name = "Москва"

тут пробую ставить.... но происходит не выбор, а замена
Код AS3:

combobox1.selectedIndex=comboNositel.selectedItem.id-1;


BeDLiNt 30.03.2010 09:52

Может быть вы и думаете что вы так делаете, но на самом деле в первой строчке вы изменяете проперти name у выделенного элемента. А во втором делаете selectedIndex равным id-шнику выделенного элемента минус один. Абсурд какой-то.

lighto 30.03.2010 10:02

ага... спасибо за пояснение... буду думать...

Добавлено через 1 час 13 минут
ай что то у мну ничего неполучаеться.... поиск этот...

Добавлено через 4 часа 24 минуты
Цитата:

Сообщение от BeDLiNt (Сообщение 896720)
Ищите в вашей коллекции элемент по нужному вам критерию

кто нить Знает как это делаеться? :o

oleg_tomenko 30.03.2010 14:58

В цикле проверяете каждый элемент списка на наличие некой строки, если совпало в какой-либо итерации, то индекс у вас будет равен i.

lighto 30.03.2010 15:31

Код AS3:

private function Dd():void
{       
for(var i=0;i<=nositel.length;i++)
{
if (nositel[name]=="Москва")
{       
combobox1.selectedIndex=i;
}
else{}}

как то так сделал... но неверно .... будем ишо смотреть мож кто подскажет как нада? nositel мой массив кде есть id и name...

oleg_tomenko 30.03.2010 15:53

Почитайте про циклы и массивы, вы не понимаете принципа. Вам так будут очень долго подсказывать и бесполезно.

lighto 30.03.2010 15:54

Все поправил работает
Код AS3:

private function Dd():void
{       
for(var i=0;i<=nositel.length;i++)
{
if (nositel[i].name=="Москва")
{       
combobox1.selectedIndex=i;
}
else{}}

Если кто ишо буит искать такое...
НО так ОНО недолжно быть ждолжна быть 1 команда это же флекс+as3 должно быть чтоб 1 строчкой.... Кто знает подскажите пожалуйста....

Zebestov 30.03.2010 15:56

i <= nositel.length
вот не найдет он твою Москву, и ляпнет ошибка! может все-таки просто "<"?


Часовой пояс GMT +4, время: 17:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.