Не могу понять как работает Listbox

PavelT100

Well-Known Member
09.07.2007
103
0
#1
Не могу разобраться как работает уже написанных код. На subforme есть Listbox под название tmpLIST в режиме Editable. На второй закладке выбрана опция "Use formula for choices". И в формуле указано dsLIST. Стоят галки "Refresh fields on keyword change" и "Refresh choises on document refresh". Больше никаких опций ни в какой закладке я не нашел. Далее еcть текстовое поле Unid в режиме "Computed for display" и в окне Value прописана формула tmpLIST. Больше никаких опций ни в какой закладке для этого поля я не нашел.
Далее есть код вызова этой subforme :
Код:
		Dim ui As New notesuiworkspace	
Set dialog = db.CreateDocument
dialog.dsLIST = out_array
dialog.tmpLIST = Right$(out_array(0), 32)
listSelect$=""
If ui.DialogBox ( "HL_DLG11", True, True, False, False, False, False, "Séléction de la pharmacie : Etape 2", dialog) Then
listSelect$ = Cstr(dialog.tmpLIST(0))
Set doc=db.GetDocumentByUNID(listSelect$)
Set CliSearchSQL=doc
Else 
doc.SQLStatus=1
End If
Здесь out_array это строковый массив. Строки длинные. Левая часть строк показывается в ListBox. А крание правые 32 символа каждой строки это Unid некоторых документов. При открытии формы в листбоксе позиционируется первая строка и в поле Unid отображается правая часть первой строки - это я могу понять - dialog.tmpLIST = Right$(out_array(0), 32). Но при перемещениях по листбоксу изменяется и поле Unid правильно вырезая крание правые 32 символа из соответвующих строк. Но где может быть код который это делает? Я не могу его найти. Повторив это все что нашел в своей новой форме - получил иной результат. При откытии диалога действительно в поле UNID показывается последние 32 символа первой строки, но при перемещениях по курсору в Unid показывается вся текущая строка листбокса начиная с первого левого символа.
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
в поле TMPList есть галка Allow keyword synonyms
эро означает что в поле TMPList будет отбражаться левая часть поля dsLIST от разделител | (верт. палочка)