Как создать таблицу в Dialogbox-e из запроса с реляционной БД

Тема в разделе "Lotus - Программирование", создана пользователем Sandro, 16 дек 2009.

  1. Sandro

    Sandro Гость

    Встала такая задачка, есть документ, инфа из него должна подтягиваться из реаляционной БД, привязка к данным не жёсткая по имени клиента, то есть должна быть возможность выбирать из нескольких значений.
    Вообщем есть желание сделать поле и рядом с ним кнопочку, при нажатии кнопочки делается SELECT ... from ... where name like 'значение поля' и строчки выборки открываются в DialogBox-e выбирается нужная строка и данные заполняют поля формы.

    Работать через ODAC я научился, получить массив или ODBCResultSet без проблем, а вот как создать аналог DataGrid и запихнуть в DialogBох не пойму, или надо создавать документы , делать из них лотусовое VIEW ???
     
  2. Klido

    Klido Гость

    я делаю примерно так: создаю док под диалог, передаю его агенту, который выполняет запрос и заполняет поле-спиок (комбо, диалог-лист...) вариантов выбора, а отдельно - соответствующий список результатов, затем показываю диалог для выбора варианта и заполняю соотвтествующие поля в основном документе....
    оперируй массивами (списками) строк-результатов запроса
     
  3. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Похоже на то, можно попробовать обойтись и одним доком и показывать его через pickliststrings + show multiplie as separate values.
    Но если надо имеенно аналог таблицы, то надо генерить документ на каждую запись, кмк.
     
  4. Sandro

    Sandro Гость

    :please: Мда, ладно попробую выкрутиться, спасиб за подсказку

    Добавлено: Klido, а почему так сложно? Нельзя , просто сделать заполнение поля с множественным значением при переходе дока в режим редактирования ?
     
  5. Klido

    Klido Гость

    Sandro
    так и делается, но значения-то надо заполнить? вот они в док и заполняются агентом, а диалог их показывает как надо, но массивов-списков значений столько, сколько полей, а полей может быть много и отображать все смысла не имеет..
    например, при поиске клиента достаточно видеть перечень наименований и подсвечивать по нужде код ОКПО какой-нибудь, а остальные ннадцать полей выгребутся из массивов по результату выбора конкретного клиента...
     
  6. Sandro

    Sandro Гость

    :) Можно тупой вопрос, как заполнить поле со списком , делаю
    Код (Text):
    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument

    Set uidoc = ws.CurrentDocument
    Dim doc As NotesDocument   
    Set doc=uidoc.Document
    doc.Name=data


    Call uidoc.Refresh(True)
    Когда поле просто список заполняется , а поле со списком ничего нет (((
     
  7. Klido

    Klido Гость

    item.appendToTextList используй, а показывать мультивэлью поле - это уже как нравится....
     
  8. Sandro

    Sandro Гость

    Я уже нервничаю )))

    Делаю так, поле с множественным значением заполняется, значением массива через запятую, а поле со списком в простонародье ComboBox пустой :)

    Код (Text):
                    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument

    Set uidoc = ws.CurrentDocument
    Dim doc As NotesDocument   
    Set doc=uidoc.Document
    Dim item As NotesItem
    Set item = doc.GetFirstItem( "Name" )
    Call item.AppendToTextList(data)   
    Call uidoc.Refresh(True)
    Call doc.Save( False, True )
     
  9. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Если я правильно поняла Ваш вопрос:
    В use formula for Choices - указать мультивалью-поле, содержащее список возможных значений для комбо и установить галку у комбо Refresh Choices on Document Refresh.
     
  10. Sandro

    Sandro Гость

    Попробовал ничего не получается ((( Поле должно заполняться при нажатии на кнопку, multivalue в ComboBox по умолчанию, обновление стоит ((( На счёт "use formula for Choices - указать мультивалью-поле" не понял это поле и должно же заполняться данными из выборки с реляционной БД
    Делаю Allow values not in list (хотя мне это не нужно совсем) - заполняется тока первое значение массива ))) Вообще ничего не понимаю
     
  11. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    у тебя не заполняется список для выбора из комбобокса или значение комбобокса?
     
  12. Sandro

    Sandro Гость

    Список
     
  13. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    пример, если не заполняется список для выбора в комбобокс:
    в мультизначное поле Fld1 тип Text (с галкой Allow multiple values) вытягиваем значения: 1, 2, 3, 4, 5 (из выборки) - это вроде у тебя получалось?
    у комбо Fld2 на 2-й закладке выбрать "use formula for Choices" Fld1.
    при открытии формы в комбо Fld2 будет предоставлен выбор из 1, 2, 3, 4, 5.




    Добавлено: только после заполнения/изменения Fld1 надо сделать рефреш документу.
     
  14. Sandro

    Sandro Гость

    Так работает )))) Ничего не понимаю :RTFM: И как мне это промежуточное поле спрятать ?
     
  15. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Помещаешь в отдельный абзац
    предпоследняя закладка свойств поля, ставишь галку - hide paragraph from
    Notes (можно и от остальных). Поле не отображается на форме при открытии в клиенте Notes.
     
  16. Sandro

    Sandro Гость

    OKEN спасиб огромное, такая фигня а стока времени убил, а это общепринятый способ , как то хитромудровато это по-моему ? )))
     
  17. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    ну, можно проще - прямо в комбо написать @-формулу, выгребающую какие-то значения или фиксированный текстовый список значений, но ведь тебя это в данном случае не устроит? ;)
    вот проснутся коллеги-форумчане - пусть подтвердят :RTFM:
     
  18. Sandro

    Sandro Гость

    :RTFM: Если бы не помощь на форуме, я бы в жизнь лотус не освоил, весьма своеобразная штука. Ещё раз спасиб.
     
Загрузка...

Поделиться этой страницей