Как я могу сделать быстрый поиск во Flex? - PullRequest
0 голосов
/ 24 сентября 2010

Я использовал символьное поисковое имя в сетке данных, используя службы http. поэтому я использовал текстовое поле и сетку данных, fcomptxt это идентификатор текстового поля fComptxt.addEventListener(Event.CHANGE,applyFilter);

    public function applyFilter(e : Event):void {

      CompanyViewBean.companyViewBean = new CompanyViewBean();
          CompanyViewBean.companyViewBean.subAction
    = new XML("<actionContext><actionName>SearchCompany</actionName></actionContext>"); var nameSearch:String = fComptxt.text; CompanyViewBean.companyViewBean.companyName=<name>{nameSearch}</name>;    
xmlGeneration()

        }

В функции xmlgeneration я отправляю запрос на сервер с помощью http-сервисов. Но мое уточнение

  1. если они набрали быстро, то получат ошибки (ошибки http)
  2. Можно ли каким-либо иным способом осуществить быстрый поиск
  3. Я использовал событие «Отключение клавиатуры», а также «Отключение клавиатуры», после чего не возникало никаких проблем.

1 Ответ

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

Если вы можете загрузить все данные одновременно, то вы можете использовать функцию сортировки ArrayCollection для фильтрации данных по типу пользователя.Это должно быть довольно быстро.

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

Я вижу два варианта, которые вы можете исследовать:

  1. Вы можете отключить ввод текста после каждого нажатия клавиши, пока не вернете данные с сервера.
  2. После каждого нажатия клавиши Вы можете отменить удаленный запрос «в процессе» перед запуском нового.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...