Можно ли открывать нужную вкладку в таблице

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

  1. Sandro

    Sandro Гость

    Задача такая , на форме есть комбобокс со статусами документа, так же есть таблица в виде вкладок, на каждой вкладке определённые значения для определённого статуса документа, вот очень хочется что бы при выборе статуса в комбобоксе , открывалась нужная вкладка, реально ли это сделать ?
     
  2. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
  3. Sandro

    Sandro Гость

    :) В школе вроде учили , спасиб ))))
     
  4. Sandro

    Sandro Гость

    Не совсем то что хочется, надо выставлять "Switch rows programatically" в свойствах таблицы , а при этом вкладки становятся не видимыми, а надо что бы были видны ((( Я так понимаю иначе никак
     
  5. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Там же есть галка "Also show tabs...""
     
  6. Sandro

    Sandro Гость

    Точно, сорри, всем спасиб )))
     
  7. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Вот нечто похожее по-русски было у нас на форуме Переход на следующую закладку таблицы, собственно, даже с тыканьем в нужный раздел хелпа.
    (Да и я сама как-то давненько описывала коллеге по-русски, но сходу не нашла, а по ссылке, приведенной в прошлом посте, Дима всё четко по пунктам расписал.)
     
  8. Anonimous

    Anonimous Well-Known Member

    Регистрация:
    15 июн 2012
    Сообщения:
    120
    Симпатии:
    0
    Я хотел спросить, тоже в этом ключе. Мне надо вызывать метод одной библиотеки, когда пользователь открывает определенную вкладку таблицы. Такое возможно?
    Сейчас этот метод вызывается на QueryOpen субформы, которая лежит на этой вкладке таблицы, но из-за того, что события QueryOpen, PostOpen субформ вызываются при открытии основной формы, документ долго открывается. А мне надо только на одной этой вкладке отображать информацию, но вот не знаю, как делать так, чтоб она отображалась только когда пользователь эту нужную вкладку открывает. Кто-нибудь с подобной задачей сталкивался? Заранее спасибо
     
  9. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Если сделать программное переключение таблиц, то можно.
    Во втором посте данной ветки есть ссылка как сделать переключение (англ).
    В коде хотспота просто надо будет вызвать методы, но скорее всего будет притормаживать при переключении на эту вкладку.
     
  10. Anonimous

    Anonimous Well-Known Member

    Регистрация:
    15 июн 2012
    Сообщения:
    120
    Симпатии:
    0
    savl В коде хотспота просто надо будет вызвать методы,

    Не совсем понял. На нужной вкладке надо создавать хотспот? И как вызывать его код при ее открытии?
     
  11. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Нет, ты создаешь хотспоты и переключаешь вкладки при нажатии хотспотов, внешне может выглядеть как на картинке.
    Там у меня таблицы, в них текст. На текст повешен хотспот, который открывает определенную вкладку таблицы.
    Вот в один такой хотспот, который будет открывать нужную тебе вкладку таблицы - вставляешь вызов метода.
     

    Вложения:

    • apptesst.png
      apptesst.png
      Размер файла:
      10,8 КБ
      Просмотров:
      81
  12. Anonimous

    Anonimous Well-Known Member

    Регистрация:
    15 июн 2012
    Сообщения:
    120
    Симпатии:
    0
    Спасибо. К сожалению, мне так сделать не разрешат, пользователи непосредственно листают вкладки таблицы, перейти на перелистывание через хотспоты никто не захочет. Я вот и хотел узнать, можно ли код вызвать, когда пользователь нужную вкладку открывает. Субформы не помогли.
     
  13. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    Если выставлено "Switch rows programmatically", то при переключении вкладок, Tab label записывается в выбранное Вами поле (ака $Table-name) и потом - Refresh дока. Запускайте Ваш скрипт в "Postrecalc" после проверки $Table-name на нужное значение. Никаких дополнительных тормозов не будет (точно быстрее будет, чем с SubForm если рефреш дока проходит быстро). Хот споты тут не нужны.
    P.S.
    $Table-name определяется на последней вкладке свойств таблицы: "Name/ID"
     
  14. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    ну... если сделать как на картинке, то ты меняешь по сути внешность. То есть зрительно это те же вкладки, просто выглядят иначе.
    Можно даже сделать так, чтобы было похоже на саму вкладку, зрительно можно и не отличить.
    А про хотспоты узнай, может и согласятся. Пользователи ведь переключают вкладки, какая разница куда жать на текст в квадрате или на вкладку? Просто у них сейчас выбора нет. Покажи, думаю им даже понравится.

    Добавлено: alexas
    а если режим чтения? Судя по описанию такое заполнение вкладки происходит каждый раз при ее открытии.
    Anonimous
    Кстати, режим какой? И постоянно ли надо это заполнять или один раз при создании?
     
  15. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    Да, это для режима редактирования.
    Если для чтения - то как написал savl, без вариантов.
     
  16. Anonimous

    Anonimous Well-Known Member

    Регистрация:
    15 июн 2012
    Сообщения:
    120
    Симпатии:
    0
    savl Кстати, режим какой? И постоянно ли надо это заполнять или один раз при создании?

    У меня информация отображается в поле Computed for display, вычисляется каждый раз при открытии документа, чтоб была актуальной (конструкция приложений такая). И это поле находится на той вкладке. Надо просто перенести вычисление значений этого поля на момент, когда пользователь открывает именно ту вкладку, чтоб быстрее было). Режим чтения
     
  17. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Попробуй предложить им хотспоты, попытка - не пытка.
     
  18. Anonimous

    Anonimous Well-Known Member

    Регистрация:
    15 июн 2012
    Сообщения:
    120
    Симпатии:
    0
    Спасибо. Если что к теме вернусь :huh:
     
  19. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    Computed поля, при открытии дока, вычисляются до визуального показа формы. Поэтому если док уже открыт, показан и находится в режиме чтения - пересчитать их не получится. В Вашем случае можно поместить на нужную вкладку таблицы Embedded Editor, в котором открывается спецформа, на которой Ваше поле Computed for display и вычислять это поле в PostOpen спецформы. PostOpen спецформы сработает только при открытии нужной вкладки. Будет работать в режиме чтения и, опять-же, Хот Споты не нужны :huh: При переводе дока в режим редактирования Embedded Editor можно скрыть.
     
Загрузка...

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