H
hosm
На форме или подформе есть таблица в виде вкладок. Как можно переключать вкладки программно?
Понравилось англоязычное описание link removed.
1) Go to the property of table, open 'Table Programming' tab (the last one) and give the name of the whole table (Name/ID tag), also please give the name to all rows you want to switch using your code (Row Tags, Name)
2) Now let's go to the property Table Rows and select "Switch rows programatically" (otherwise it will not work, even if you cast magic), also enable 'show the tabs so user can pick row'.
3) Add field to the form with name = Name/ID tag and add prefix $. (f.x. if you called your table MainTable, field should be $MainTable, the purpose of this field is to contain name of row we need to show).
4) Now do your code, here is example of button/event
1) Открыть в свойствах таблицы последнюю вкладку 'Table Programming' и дать имя таблице в поле Name/ID tag. Дать названия всем строкам (вкладкам) таблицы, на которые нужно переключаться программно (Row Tags, Name).
2) Перейти к свойствам Table Rows (предпоследняя вкладка свойств) и выбрать "Switch rows programmatically" (иначе не будет работать - никакая магия не поможет) и установить также галку 'show the tabs so user can pick row' (Прим.OKEN: чтоб переключать вкладки мог и пользователь).
3) Добавить поле на форму с именем, равным Name/ID tag с префиксом $. (например, если таблица названа MainTable, поле должно быть $MainTable и содержать имя строки, которую надо показать).
4) Добавить свой код, вот пример для кнопки/события:
Дополнительно можно посмотреть хелп дизайнера - раздел "Creating programmable tables" и темы форума Можно ли открывать нужную вкладку в таблице, Переход на следующую закладку таблицы
Прим.OKEN. Если не указывать в п.1) имена вкладок, можно использовать переключение по тексту в поле Tab label and caption, предпоследняя закладка свойств таблицы.
Можно не добавлять поле на форму, как показано в п.3).
Можно определять нужную закладку скриптом (например, в Queryopen), используя конструкции вида:
Понравилось англоязычное описание
Ссылка скрыта от гостей
. Спасибо 1) Go to the property of table, open 'Table Programming' tab (the last one) and give the name of the whole table (Name/ID tag), also please give the name to all rows you want to switch using your code (Row Tags, Name)
2) Now let's go to the property Table Rows and select "Switch rows programatically" (otherwise it will not work, even if you cast magic), also enable 'show the tabs so user can pick row'.
3) Add field to the form with name = Name/ID tag and add prefix $. (f.x. if you called your table MainTable, field should be $MainTable, the purpose of this field is to contain name of row we need to show).
4) Now do your code, here is example of button/event
Код:
FIELD $MainTable := "Content";
@Command([ViewRefreshFields])
2) Перейти к свойствам Table Rows (предпоследняя вкладка свойств) и выбрать "Switch rows programmatically" (иначе не будет работать - никакая магия не поможет) и установить также галку 'show the tabs so user can pick row' (Прим.OKEN: чтоб переключать вкладки мог и пользователь).
3) Добавить поле на форму с именем, равным Name/ID tag с префиксом $. (например, если таблица названа MainTable, поле должно быть $MainTable и содержать имя строки, которую надо показать).
4) Добавить свой код, вот пример для кнопки/события:
Код:
FIELD $MainTable := "Content";
@Command([ViewRefreshFields])
Прим.OKEN. Если не указывать в п.1) имена вкладок, можно использовать переключение по тексту в поле Tab label and caption, предпоследняя закладка свойств таблицы.
Можно не добавлять поле на форму, как показано в п.3).
Можно определять нужную закладку скриптом (например, в Queryopen), используя конструкции вида:
Код:
' попасть на закладку с именем "Content"
call doc.replaceItemValue("$MainTable", "Content")
' а если поле не надо сохранять в документе, то так:
doc.replaceItemValue("$MainTable", "Content").SaveToDisk=False