Текущее время: Чт, мар 28 2024, 22:11

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: SAPUI5\FIORI: задать formatter при динамическом создании столбца в таблице
СообщениеДобавлено: Вт, янв 30 2018, 10:54 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Добрый день
Ситуация следующая:
1) использую таблицу sap.ui.table.Table
2) добавляю в таблицу динамически столбец по нажатию на кнопку
3) столбец использует в качестве template - sap.m.Text
4) отдельно объявлен formatter
код добавления столбца в таблицу
Code:
    var sColumnId = "ColumnId";
     var oColumn = new sap.ui.table.Column({
               id: sColumnId,
               label: new sap.m.Label({
                  text: dCurrDate.toLocaleDateString()
               }),
               template: new sap.m.Text({
                  id: sColumnId + "Txt",
                  text: "{path:'" + sColumnId + "', formatter: '.formatter.formatValueColor'}"
               })
            });

При выполнении - formatter не виден (это ошибка, которая пишется в лог консоли).
Code:
formatter function .formatter.formatValueColor not found! -

При этом, если я подвешу форматтер статически в xml View - все нормально, приложение его видит.
Что я делаю не так?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAPUI5\FIORI: задать formatter при динамическом создании столбца в таблице
СообщениеДобавлено: Пт, фев 02 2018, 12:02 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 09:38
Сообщения: 170
Касатель fiori судить не могу, но если по коду: а .formatter.formatValueColor - тут точно .formatter нужен? Может тут именно функцию объекта formatter на указывать?
И что в отладке лежит в этом объекте после создания столбца?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SAPUI5\FIORI: задать formatter при динамическом создании столбца в таблице
СообщениеДобавлено: Пт, фев 02 2018, 13:01 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Saperx написал(а):
а .formatter.formatValueColor - тут точно .formatter нужен?

Пробовал указывать функцию напрямую - не вышло. Опять же, если я статически в xml-view привязываю форматтер, то именно такой синтаксис проходит.
Saperx написал(а):
И что в отладке лежит в этом объекте после создания столбца?

"В этом объекте" - это в каком? formatter - это свойтсво (аттрибут) контроллера. Ему присвоен объект, в котором как раз объявлен метод-форматтер formatValueColor .

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAPUI5\FIORI: задать formatter при динамическом создании столбца в таблице
СообщениеДобавлено: Чт, мар 01 2018, 03:20 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 17 2006, 11:03
Сообщения: 123
Как именно xml описание компилится в js я не знаю.
Но могу показать как используется formatter в чистом js:

Code:
    var sColumnId = "ColumnId";
     var oColumn = new sap.ui.table.Column({
               id: sColumnId,
               label: new sap.m.Label({
                  text: dCurrDate.toLocaleDateString()
               }),
               template: new sap.m.Text({
                  id: sColumnId + "Txt",
===>             text: {
                      path: "sColumnId", //или parts: [{path: "field1"}, {path: "field2"}], если на вход форматтеру надо передать несколько полей
                      formatter: function (_sColumnId) {  // или (_field1, _field2), см. выше
                          if (_sColumnId.indexOf("0")>=0) {
                              return "sColumnId содержит 0"; // возвращаемое значение ляжет в text
                          }
                        }
<===           } 
               })
            });


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

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


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

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


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

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