DBGrid + DBListBox

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
maksmkv
новенький
Сообщения: 22
Зарегистрирован: 29.08.2013 23:58:50

DBGrid + DBListBox

Сообщение maksmkv »

Всем привет. Как правильно сделать фильтр - по нескольким выделенным строкам в DBListBox.
С одной строкой такой код успешно работает.

Код: Выделить всё

procedure TForm1.Button7Click(Sender: TObject);
begin
      Dbf1.Filter := 'DB ="'+DBListBox1.Items.Strings[DBListBox1.ItemIndex]+'"';
      Dbf1.Filtered := true;
end;
wadman
постоялец
Сообщения: 122
Зарегистрирован: 18.10.2016 14:54:28
Контактная информация:

Сообщение wadman »

Либо "DB in ('1', '2')" либо "DB='1' or DB='2'". Смотря какой вариант dbf поддерживает.
maksmkv
новенький
Сообщения: 22
Зарегистрирован: 29.08.2013 23:58:50

Сообщение maksmkv »

Не очень понял, а , что за параметры 1 и 2 ? Использую TDbf
wadman
постоялец
Сообщения: 122
Зарегистрирован: 18.10.2016 14:54:28
Контактная информация:

Сообщение wadman »

maksmkv писал(а):Не очень понял, а , что за параметры 1 и 2 ?

С потолка. Те, что в списке.
maksmkv
новенький
Сообщения: 22
Зарегистрирован: 29.08.2013 23:58:50

Сообщение maksmkv »

Не хотит работать (((

Код: Выделить всё


  for i := 0 to DBListBox1.Items.Count - 1 do
    if DBListBox1.Selected[i]  then
    begin
      // делаем что-то  с выделенной строкой
      Dbf1.Filter := 'DB ="'+DBListBox1.Items[DBListBox1.ItemIndex]+'"';
      Dbf1.Filtered := true;
    end;     
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

maksmkv, судя по всему, ты просто переопределяешь фильтр. Тебе надо собрать строку параметров и уже всю ее присвоить. Да и код явно не похож на данный тебе пример.
Ответить