Как заполнить ComboBox, пока вы печатаете в нем? - PullRequest
0 голосов
/ 13 октября 2018

Я пытаюсь выполнить поиск при вводе TComboBox и автоматическом добавлении элементов по мере ввода.

Я использую Delphi 7 и MSSQL.

Допустим, у меня естьдлинная таблица со списками имен в таблице с одним столбцом с именем 'names', и я набрал 'Jonathan'.

Я хочу получить результаты в TComboBox, когда я набираю один за другим.

Спасибо.

1 Ответ

0 голосов
/ 13 октября 2018

Попробуйте следующее:

procedure TForm1.ComboBox1Change(Sender: TObject);
var
  I: Integer;
begin
  ComboBox1.Items.Clear;
  ComboBox1.SelStart:= Length(ComboBox1.Text); //To put the cursor in the end
                                                 of the string typed in the ComboBox
  if ComboBox1.Text = '' then
    ADOTable1.Filtered:= False
      else
        begin
          ADOTable1.Filter:= 'Names LIKE ' + QuotedStr(ComboBox1.Text + '*');
          ADOTable1.Filtered:= True;
          for I := 1 to ADOTable1.RecordCount do
            begin
              ADOTable1.RecNo:= I;
              ComboBox1.Items.Add(ADOTable1.FieldByName('Names').Value);
            end;
        end;
end;
...