powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Поиск в комбобоксе
3 сообщений из 3, страница 1 из 1
Поиск в комбобоксе
    #36599751
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть
1. открытая таблица с индексом по naim,
2. форма,на форме есть комбобокс, который заполняется 1 элемент "Все" и далее значениями из таблицы (naim+kod)
3.Грид с этой таблицей упорядоченой по индексу Naim
4.Кнопка... допустим "Ok"
Действия...
В гриде находим наименование, нажимаем кнопку "Ok", после чего надо найти это наименование в комбобоксе..
Как это сделать...?
есть ли поиск в комбобоксе?, также если можно, то узнать на каком месте эта запись находится и сместить на такую же величину+1 указатель комбобокса, но опять же какое значение этого места может кто подскажет, как это сделать...
...
Рейтинг: 0 / 0
Поиск в комбобоксе
    #36600160
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от того, что является источником данных для ComboBox. Т.е. что указано в свойстве ComboBox.RowSourceType.

Если источником данных является какое-то внешнее хранилище (массив, таблица, запрос), то проще выполнить поиск в этом внешнем хранилище. А чтобы сделать элемент текущим, то в зависимости от значения ComboBox.Style присвоить значение либо ComboBox.Value, либо ComboBox.DisplayValue.

Если источника данных нет (None, Value). Т.е. ComboBox наполнялся вручную. То следует сканировать внутренний массив List

Код: plaintext
1.
2.
3.
FOR nCnt =  1  TO ThisForm.ComboBox1.ListCount
    ?ThisForm.ComboBox1.List(nCnt) 
ENDFOR

В этом случае сделать какой-либо элемент текущим (выбранным) - это изменить свойство Selected

ThisForm.ComboBox1.Selected(nCnt) = .T.
...
Рейтинг: 0 / 0
Поиск в комбобоксе
    #36600229
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.., правда я тоже делал цикл, но таблицы :-), высчитывал значение смещения от найденной записи до начала, а потом ThisForm.ComboBox1.value = это значение, подумал, что кто-нибудь знает более лучший ответ..., но так как приведено в примере, наверное правильнее будет...хотя спорный вопрос, что быстрей в цикле, каждый раз сравнивать искомое наименование с текущим наименованием комбобокса или просто вычислить позицию этой записи циклом до начала .. Но тут конечно же надёжней...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Поиск в комбобоксе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]