Combobox

  • Автор темы wowa
  • Дата начала
M

morpheus

2 Ogion7
да что Вы так прицепились то к этому Лукапу, его вообще желательно использовать как моджно меньше
 
O

Ogion7

В смысле если данные, для комбо, лежат не в текущей базе, можно обойтись без дб____ :)
 
W

wowa

Ну я забираю значение key=uidoc.FieldGetText("combo1")
Все это я прописываю во втором комбо в initialize
key=uidoc.FieldGetText("combo1")
Set db = session.CurrentDatabase
Set view = db.GetView ("vw-InformationDB" )
Set doc = view.GetDocumentByKey (key )

Forall form In doc.Items(7).values
msgString = msgString &Chr(10) &form
End Forall

Call uidoc.FieldSetText("cccText",msgString) - 'потом из cccText я забираю в combo2

Но у меня key="" т.к. я еще ничего не выбирал в combo1
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
Для: wowa
Изврат какой-то. :)

Всё что тебе нужно, так это прописать в вариантах формулу @DbLookup. И проверить при этом ключ на пустоту.
 
O

Ogion7

doc будет пустой, проверку надо бы
Код:
if Not(doc is Nothing) then....
 
W

wowa

Все равно я что-то не понял...
В combo1 у меня только прописано в Use formula for choices
@DbColumn("";"":"";"VW-FrVC-UI-InfDB";1)
т.е. выбираю список ключей
И все.....

В combo2 в initialize

Dim ....
key=uidoc.FieldGetText("combo1")
Set db = session.CurrentDatabase
Set view = db.GetView ("vw-InformationDB" )
Set doc = view.GetDocumentByKey (key )
If Not(doc Is Nothing) Then
Forall form In doc.Items(7).values
msgString = msgString &Chr(10) &form
End Forall
Else
Exit Sub
End If
Call uidoc.FieldSetText("combo2",msgString)
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
<!--QuoteBegin-wowa+22:02:2007, 15:44 -->
<span class="vbquote">(wowa @ 22:02:2007, 15:44 )</span><!--QuoteEBegin-->В combo1 у меня только прописано в Use formula for choices
@DbColumn("";"":"";"VW-FrVC-UI-InfDB";1)
[snapback]56954" rel="nofollow" target="_blank[/snapback]​
[/quote]
В combo2 пишешь в Use formula for choices
@If(@IsNull(combo1); @Nothing; @DbLookUp("" : "NoCache"; "" : ""; "VW-FrVC-UI-InfDB"; combo1; 4; [FailSilent]))
 
O

Ogion7

А конкретно не работает? Можно ж вообще установить у свойствах поля, на вкладке Advanced, Separate values when user enters установить запятую, и не мучаться(может так и стоит, а символ новой строки как разделитель не воспринимается)
 
R

RAJ

Следующая команда, которую вы используете:
Код:
Call uidoc.FieldSetText("combo2",msgString)
задает список УЖЕ ВЫБРАННЫХ значений, а не список для выбора(надеюсь разница ясна).

Ранее, другие коллеги вам уже указывали на один из путей решения, а именно:
1. В "Use formula for choices" для "combo2" прописать имя поля "Combo2Source"
2. На скрипте заполнить поле "Combo2Source" значениями по ключу "Combo1"
3. Обновить документ

Это работает!!!
 
W

wowa

Для: Medevic
СПАСИБО! Так сработало.... НО оно так работает когда есть во вьюхи..,,,, а если надо достать список форм из дока, и их нет во вьюшки!

Для: RAJ
объясни кодом
 
O

Ogion7

Для wowa: Вьюв все равно будет нужен чтобы найти документ, а список форм из дока достать скриптом, когда документ будет найден
 
W

wowa

Для: Ogion7
Список форм я достаю из дока..... и документ нахожу по ключу! Но как сам ключ достать из combo1- (т.е. чтобы сначала сработал combo1) не получается
 
O

Ogion7

Можно так -- в событие OnChange комбо1 вставь скрипт поиска документа, по значению из того же комбо1 :)

В скрипте же и заполни комбо2
 
R

RAJ

Для: RAJ
объясни кодом

В файле я создал простую иерархию Организация-(1-n)-Сотрудники.
И по кнопочке "Тест....." в форме можно увидеть работу связки Master-Slave.

Сделал, как представлял суть вопроса: "Заполнение скриптом комбобокса".

P.S: в скрипте я использовал Evaluate c @DBLookup для получения набора
данных, но можно подставить любой другой список
 

Вложения

  • MasterSlaveKey.rar
    17,8 КБ · Просмотры: 236
O

Ogion7

Для: RAJ
Конечно проблема в том, как обновлять список значений зависимого поля
без необходимости нажатия на кнопку "Сформировать".

Нету никакой проблемы, код что в кнопке Сформировать загоняеш в событие OnChange поля Company. И да будет тебе щастье :)
 
R

RAJ

Для: Ogion7
Нету никакой проблемы, код что в кнопке Сформировать загоняеш в событие OnChange поля Company. И да будет тебе щастье :D

Я знал, что вы меня поправите :) Конечно же OnChange спасёт. Писал в спешке(что меня не извиняет).
Коллективный разум победит :D
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!