powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Combo - запрос по набранным буквам?
15 сообщений из 15, страница 1 из 1
Combo - запрос по набранным буквам?
    #33139561
НатальяП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, как можно в combo реализовать такой выбор - набираешь, например, букву "А", и в списке остаются только клиенты на "А", далее набираешь "б", остаются те, у кого в названии есть "Аб", и т.д. Хотелось бы реализовать это через SQL-запрос, а не фильтр, т.к. таблица большая.
...
Рейтинг: 0 / 0
Combo - запрос по набранным буквам?
    #33140130
О_В_Д
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!
А что, IncrementalSearch = .T. не подходит?
...
Рейтинг: 0 / 0
Combo - запрос по набранным буквам?
    #33140289
НатальяП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, получается что просто встаешь на первое слово, соответсвующее твоим набранным буквам, а мне хотелось бы - ввел "А", в списке комбо только объекты начинающиеся с "А", ввел "б", остались ТОЛЬКО начинающиеся на "Аб", то есть после каждой новой буквы запускался бы запрос и результат был виден в комбо!
...
Рейтинг: 0 / 0
Combo - запрос по набранным буквам?
    #33140346
О_В_Д
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда другой вопрос. А зачем комбобокс? Я такие вещи делаю через текстбокс и грид. В текстбоксе идет набор, а в гриде после каждого нового символа пояляются нужные данные.
...
Рейтинг: 0 / 0
Combo - запрос по набранным буквам?
    #33140363
НатальяП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему combo? Потому что форма выглядит как типовая Товарная накладная, где вверху будет видна только одна строчка combo, и пользователь будет вводить первые буквы поставщиков, поэтому для грида просто нет места!
...
Рейтинг: 0 / 0
Combo - запрос по набранным буквам?
    #33140421
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2НатальяП
зато на другой форме место найдется
кроме того у объектов есть свойство visible
...
Рейтинг: 0 / 0
Combo - запрос по набранным буквам?
    #33140456
О_В_Д
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НатальяП...поэтому для грида просто нет места!

Знаете, а у грида, как и у других объектов, есть возможность менять размер по вашему усмотрению. На форме у меня имеется пара гридов, в которых только хэдеры и всего одна строка.
...
Рейтинг: 0 / 0
Combo - запрос по набранным буквам?
    #33141537
Elnur_M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Combo - запрос по набранным буквам?
    #33141706
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Наталья!

Поищи на universalthread.com в разделе download, а также в решениях на foxclub.ru в принципе это не сложно сделать...Именно на запросе - причём выполнять его не обязательно при вводе буквы - можно выполнять при DropDown - т.е. открытии списка (ибо выборка из пары миллионов записей всех начинающихся на "А" - а это в самом лучшем случае каждая 50-я запись! будет тормозить.)

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Combo - запрос по набранным буквам?
    #33141848
Andrey Ts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VFP5:
(единственное- может потребоваться доработка для значения NULL)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
ComboBox.Style= 2  && разумеется!
******* ComboBox.GotFocus *******
THIS.SelStart =  0 
THIS.SelLength = LEN(ALLTRIM(THIS.Value))
THIS.TAG=""
********ComboBox.KeyPress *******
LPARAMETERS nKeyCode, nShiftAltCtrl
newSym=CHR(nKeyCode)
DelKey=(nKeyCode= 7  OR nKeyCode= 127 )
IF (ISALPHA(newSym) OR ISDIGIT(newSym) OR DelKey ) AND nShiftAltCtrl< 2  ;
  AND This.ListCount> 0  AND !EMPTY(THIS.DisplayValue)
  txtLen=LEN(THIS.DisplayValue)
	IF !DelKey
	 This.Tag=ALLT( LEFT(THIS.DisplayValue,THIS.SelStart)+newSym+ ;
	 RIGHT(THIS.DisplayValue,txtLen-THIS.SelStart-THIS.SelLength) )
	ELSE
		IF THIS.SelLength+THIS.SelStart=txtLen
	 		This.Tag=""
		ELSE
			IF nKeyCode= 7 
		 		This.Tag=ALLT( LEFT(THIS.DisplayValue,THIS.SelStart)+ ;
		 			RIGHT(THIS.DisplayValue,txtLen-THIS.SelStart-IIF(THIS.SelLength= 0 , 1 ,THIS.SelLength)) )
			ELSE
		 		This.Tag=ALLT( LEFT(THIS.DisplayValue,IIF(THIS.SelLength= 0 ,THIS.SelStart- 1 ,THIS.SelStart) )+ ;
		 			RIGHT(THIS.DisplayValue,txtLen-THIS.SelStart-THIS.SelLength) )
			ENDIF
		ENDIF
	ENDIF
ENDIF
******** ComboBox.InteractiveChange *******
IF This.ListCount> 0  AND !EMPTY(This.Tag)
	input_Text=This.Tag
	nLenText=LEN(input_Text)
	cntList=This.ListCount
	FOR ij= 1  TO cntList
		IF UPPER(input_Text)==UPPER(LEFT(This.List[ij],nLenText))
			THIS.DisplayValue=allt(This.List[ij])
			THIS.SelStart=nLenText
			THIS.SelLength=LEN(allt(This.List[ij]))-nLenText
			THIS.TAG=""
			EXIT
		ENDIF
	ENDFOR
ENDIF
...
Рейтинг: 0 / 0
Combo - запрос по набранным буквам?
    #33142821
НатальяП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Счас буду пробовать!
...
Рейтинг: 0 / 0
Combo - запрос по набранным буквам?
    #33143017
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 .Отказаться от ComboBox
2. Создать свой класс для поиска, как, например, тут: http://www.caws.atnet.ru/vfox/vfoxpro5.html
С уважением, Алексей.
...
Рейтинг: 0 / 0
Combo - запрос по набранным буквам?
    #33144049
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Aleksey-K!

А почему тебе не нравится такой "ищущий" комбо? Вполне UserFriendly решение :) Лишь ограничивай объём попадающих в комбо значений для порядку и всё. В принципе решение с текстбоксом вызывающим другую форму ничем не отличается от этого.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Combo - запрос по набранным буквам?
    #34160892
alex_lip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Предлагаю доработку предыдущего решения.
в InteractiveChange прописываем


If !Empty(This.Tag) Then
Select test1
Go Top
Set Exact Off
Locate For test1.name_test=This.Tag
Set Exact On
If Found()
Thisform.combo1.DisplayValue=test1.name_test
Thisform.combo1.SelStart=Len(This.Tag)
Thisform.combo1.SelLength =Len(test1.name_test)-Len(This.Tag)
prom_rec=RECNO()
p_name=Thisform.combo1.DisplayValue
p_sel1=Thisform.combo1.SelStart
p_sel2=Thisform.combo1.SelLength
ELSE
Thisform.combo1.DisplayValue = p_name
Thisform.combo1.SelStart = p_sel1
Thisform.combo1.SelLength =p_sel2
GO prom_rec
Endif
Endif

где p_name, p_sel1, p_sel2, prom_rec - глобальные переменные - получаем ограничение ввод только тех символов, которые можно найти.
...
Рейтинг: 0 / 0
Combo - запрос по набранным буквам?
    #34161099
LeKo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А я иной раз использую TextBox + Popup Menu. Очень удобно.

На Valid-t текстбокса можно
Код: plaintext
1.
SELECT поле1, поле2... FROM табла1 WHERE нужное усл-е(в частности поиск по первым буквам) INTO CURSOR курсор1

а затем. что-нидь типа:
авторDEFINE POPUP mP PROMPT FIELD ...
ON SELECTION POPUP mP DEACTIVATE POPUP mP
ACTIVATE POPUP mP
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Combo - запрос по набранным буквам?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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