• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

  • Автор темы PavelT100
  • Дата начала
P

PavelT100

Не могу разобраться как работает уже написанных код. На 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 показывается вся текущая строка листбокса начиная с первого левого символа.
 
M

morpheus

в поле TMPList есть галка Allow keyword synonyms
эро означает что в поле TMPList будет отбражаться левая часть поля dsLIST от разделител | (верт. палочка)
 
Мы в соцсетях:

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