![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите пожалуйста поправить код.
Код:
procedure Tf_InformKontragenta.ComboBox1Change(Sender: TObject);
var
Q : TIBQuery;
begin
Q := TIBQuery.Create(nil);
Q.Database := Module.IBDatabase1;
Q.Transaction := Module.IBTransaction1;
Q.Close;
Q.SQL.Clear;
Q.SQL.Add ('SELECT * FROM S_PF WHERE FULL_NAME CONTAINING (:Poisk)');
Q.Params.Items[0].AsString := ComboBox1.Text;
Q.Open;
Q.First;
ComboBox1.Items.Clear;
While not Q.Eof Do
begin
ComboBox1.Items.Add(Q.FieldByName('FULL_NAME').AsString);
Q.Next;
end;
end; |
|
#2
|
||||
|
||||
|
Тормозной фильтр.
Проще в гриде строки прятать. |
|
#3
|
|||
|
|||
|
Грида не будет, нужен фильтр в комбобоксе, т.к. выпадающий список весьма велик.
|
|
#4
|
||||
|
||||
|
Что нужно то? Какой фильтр? Ввел ты текст в комбо и что дальше?
|
|
#5
|
|||
|
|||
|
Нужно. В комбобокс запросом вытягиваются значения из СУБД (Файрберд). Нажимаю на комбобоксе открыть список, и при вводе слова (не обязательно целиком, и не спервого символа строки), выпадающий список сокращается и состоит только из тех строк которые содержат введенное слово. После того как список сократиться до удобного кол-ва строк, пользователь может выбрать нужную ему строку.
|
|
#6
|
||||
|
||||
|
ну так выбери всё по
Код:
SELECT * FROM S_PF ЗЫ. а сама идея - не айс) |
|
#7
|
|||
|
|||
|
Человек хочет знать - как сделан выпадающий список Гугла.
![]() |
|
#8
|
||||
|
||||
|
Цитата:
|
|
#9
|
|||
|
|||
|
Подскажите пожалуйста, как тогда это можно реализовать, списки в основном будут содержать названия ЮЛ и начинаться с ПФ (Общество с ограниченной ответственностью "Букварь"). Поиск очень нужен. Может быть есть какой нить пример, чтобы переделать под себя?
|
|
#10
|
||||
|
||||
|
ТОлько если делать свой контрол.
|
|
#11
|
|||
|
|||
|
Вот это почти работает, но при очистке items курсор встает на первую позицию. Это как то можно победить?
Код:
procedure Tf_InformKontragenta.ComboBox1KeyUp(Sender: TObject;
var Key: Word; Shift: TShiftState);
var
Q : TIBQuery;
begin
Q := TIBQuery.Create(nil);
Q.Database := Module.IBDatabase1;
Q.Transaction := Module.IBTransaction1;
Q.Close;
Q.SQL.Clear;
Q.SQL.Add ('SELECT * FROM S_PF WHERE FULL_NAME CONTAINING (:Poisk)');
Q.Params.Items[0].AsString := ComboBox1.Text;
Q.Open;
ComboBox1.Items.Clear;
Q.First;
While not Q.Eof Do
begin
ComboBox1.Items.Add(Q.FieldByName('FULL_NAME').AsString);
Q.Next;
end;
Q.Close;
Q.Free;
end; |
|
#12
|
||||
|
||||
|
Читай предыдущий пост! По каковски еще написать, чтоб ты понял, что без модификации компонента - никак?
|