Текущее время: Пн, июл 21 2025, 23:02

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: SAPUI5: таблица, скроллинг и фокус
СообщениеДобавлено: Вс, сен 11 2016, 18:25 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Добрый день!

Есть XML-view. В ней таблица. Один из столбцов - поле ввода (input). Хочется сделать переход к след. строке по энтеру в поле ввода. Т.е. юзер ввел значение, нажал энтер - перешли в след.строку этот же столбец.
Подвесил свой обработчик на Submit input-а (опускаем получение номера строки. оно корректное).
Code:
sap.ui.getCore().byId("__input0-col2-row" + rowNum).focus();

Проблемы начинаются, если строка - последняя на экране. Нужно выполнить скроллинг вверх на 1 и потом установку фокуса.
Code:
oTable.setFirstVisibleRow( firstRow );
sap.ui.getCore().byId("__input0-col2-row" + rowNum).focus();

Таблица скроллируется, а вот фокус не устанавливается. Он вообще исчезает
Попробовал вызывать rerender у View и устанавливать фокус в обработчике события afterRender - не помогло.
Кто-нибудь может подсказать, что я делаю не так? Как добиться установки фокуса после скроллинга?

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAPUI5: таблица, скроллинг и фокус
СообщениеДобавлено: Пн, сен 12 2016, 06:39 
Специалист
Специалист

Зарегистрирован:
Чт, мар 25 2010, 09:02
Сообщения: 207
Ради интереса попробуйте сделать отложенную установку фокуса (например через секунду, чтобы быть уверенным что все операции завершились).
Code:
  setTimeout(function(){
    sap.ui.getCore().byId("__input0-col2-row" + rowNum).focus();
}, 1000)


Если это сработает - то, наверное, надо искать какой-то колбэк или событие к которому прицепиться, которое вызывается после того как oTable.setFirstVisibleRow( firstRow ); отработает.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SAPUI5: таблица, скроллинг и фокус  Тема решена
СообщениеДобавлено: Пн, сен 12 2016, 09:58 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
2 AFH: не, задержка - не наш путь.
Идея с тем, что нужен колбэк - понятна. не ясно было, что же за колбэк должен быть.
Причем, порывшись в инете нашел как это делается. Беда в том, что это было на старых версиях SAPUI5. В новых версиях - не работает.
А потом нашел другой вариант. Он помог. Нужно навесить обработчик AfterRendering самого Input. Дело в том, что фокус можно показать только после того, как контрол отрендерился.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB