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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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