делаю вьюху

Тема в разделе "Lotus - Программирование", создана пользователем phantom76, 20 май 2008.

  1. phantom76

    phantom76 Lotus team
    Lotus team

    Регистрация:
    25 фев 2005
    Сообщения:
    363
    Симпатии:
    9
    Всем доброго дня коллеги!


    Делаю вьюху в которой через чек-боксы можно включать фильтры по документам. Как правильно в экшене для чек бокса записать следующий фильтр:

    1. показать все документы в которых поле1 или поле2 содержат "abc"

    2. следующий чекбокс: показать с учетом первого фильтра только с вложениями (соответственно он должен работать при любом положении первого чекбокса) ... насчет взаимосвязанных чекбоксов пока сомневаюсь в реализации..

    @If(@Contains(field 1;"abc")...

    попутно сижу лопачу книги..
     
  2. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    В лотусе нет фильтров. :)
     
  3. phantom76

    phantom76 Lotus team
    Lotus team

    Регистрация:
    25 фев 2005
    Сообщения:
    363
    Симпатии:
    9
    т.е. в пределах одного представления я не смогу показывать документы по разным признакам?
    а какой выход тогда? делать несколько видов и по чекбоксу переключать их?
     
  4. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Можно сказать, что не сможешь.
    Есть разные способы имитировать фильтр. Это использование встроенных представлений, отбор в папки. Поищи по слово "Фильтр" по форуму.
     
  5. phantom76

    phantom76 Lotus team
    Lotus team

    Регистрация:
    25 фев 2005
    Сообщения:
    363
    Симпатии:
    9
    окей, спасибо...

    все комбинации требуемых мне фильтров я могу с иммитировать 9-ю вьюхами.... а можно их из формы переключать чекбоксами или подобным?
     
  6. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    как вариант, если вьюха системная - ее не используют пользователи, то можно изменять формулу отбора документов и использовать документы, снова менять и т.д. если для бд не критично индексировать ее в таком варианте то вперед.. в принципе можно использовать только одну колонку чтоб меньше было индексов..

    например сделать цикл
    Код (Text):
    dim formulas(8) as sting
    formulas(0) = "SELECT @All"
    "и .т.д
    forall formula in formulas
    set view = db.getview("view")
    view.SelectionFormula = formula
    view.refresh
    set vec = view.allenries
    if vec.count > 0 then
    forall v in vec
    set doc = v.document
    ' обработка дока
    endforall
    endforall
     
  7. phantom76

    phantom76 Lotus team
    Lotus team

    Регистрация:
    25 фев 2005
    Сообщения:
    363
    Симпатии:
    9
    Спасибо..
    въюха как раз для юзеров,
    пользователей всего 2-3, но база ок 50Гб ,... в принципе это mailjurnal ...
     
  8. Alex_Sun

    Alex_Sun Гость

    Как вариант можно воспользоваться @SetViewInfo( [SETVIEWFILTER] ; filterString ; columnName ; isCategory )
    Правда если в поле несеолько значений и надо проверить вхождение( Contains ) то это тебя не спасёт.
     
Загрузка...

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