Текущее время: Вс, май 27 2018, 16:07

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


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


ВНИМАНИЕ!

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



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

Зарегистрирован:
Пн, мар 28 2005, 16:38
Сообщения: 1138
Добрый день
Ситуация следующая:
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, 13:02 
Специалист
Специалист

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


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

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

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

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

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


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

Зарегистрирован:
Пн, апр 17 2006, 12:03
Сообщения: 114
Как именно 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 + 4 часа


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

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


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

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