Lotus Notes: получить значение из ViewEntry по ColumnName

Я пытаюсь получить данные из представления Lotus Notes View с помощью java api Notes, Моя проблема в том, что я не нахожу способа получить конкретное значение из ViewEntry по определенному имени столбца, я могу получить вектор, содержащий все значения, но я не знаю, какой столбец принадлежит каждому значению. NB, когда я пытаюсь получить документ из ViewEntry, а затем использую метод getItemValue (Object), он не дает мне всех значений, поэтому я хочу использовать непосредственно ViewEntry.

эта работа отлично:

ViewEntryCollection viewEntryCollection = view.getAllEntries();
ViewEntry viewEntry = viewEntryCollection.getFirstEntry();

viewEntry.getColumnValues().forEach(item->{
    System.out.println(item);
} );

но это дает мне исключение нулевого указателя:

viewEntry.getDocument().getColumnValues().forEach(item->{
                System.out.println(item);
            } );

Я ищу что-то подобное:

viewEntry.getColumnValue(Object columName);
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
474
2

Ответы 2

Вы можете использовать метод View.getColumnNames (), чтобы получить вектор, содержащий имена столбцов. Это позволит вам определить номер столбца, который вам нужно использовать в качестве индекса в векторе, возвращаемом ViewEntry.getColumnValues ​​().

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

nadhem 17.04.2018 16:19

У вас уже есть объект View, и это единственное место, где вы можете получить имена столбцов. Вы можете использовать ViewEntry.getParent (). GetParent (). GetColumnNames (), если хотите, но я бы определенно не назвал это более разумным.

Richard Schwartz 17.04.2018 19:24

Вы можете использовать метод getColumnValues ​​класса NotesViewEntry, но он возвращает массив значений в столбце. Если вы знаете, что данные, которые вы ищете, находятся в 3-м столбце, вы получаете 3-й элемент в массиве. Если вы хотите получить значение на основе имени столбца, вам сначала нужно прочитать имена столбцов и в каком столбце они расположены. Затем вы можете использовать это для получения нужного столбца в NotesViewEntry.

Другие вопросы по теме