Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.01.2012, 08:50
Demonuka Demonuka вне форума
Новичок
 
Регистрация: 10.05.2011
Адрес: г. Смоленск
Сообщения: 55
Версия Delphi: 7
Репутация: 10
Вопрос Фильтр в DataSource

Есть такая схема TClientDataSet --> TDataSource --> TDBGrid. Необходимо сделать фильтрацию по полю DBGrid1.Fields[1]. Фильтрация типа "вводим в Edit1 нечто и получаем отфильтрованные данные". Проблема в том, что я почему то не сделал ни ADOTable ни ADOQuery и использовать SQL запросы не получается. Переделывать не хотелось бы, ибо это единственное, что не работает. Можно ли как то еще отфильтровать?
Ответить с цитированием
  #2  
Старый 13.01.2012, 10:10
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
  ClientDataSet1.Filter:='********';
  ClientDataSet1.Filtered:=True;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
Demonuka (13.01.2012)
  #3  
Старый 13.01.2012, 10:29
Demonuka Demonuka вне форума
Новичок
 
Регистрация: 10.05.2011
Адрес: г. Смоленск
Сообщения: 55
Версия Delphi: 7
Репутация: 10
По умолчанию

Спасибо, ты как всегда выручил...
Ответить с цитированием
  #4  
Старый 14.01.2012, 13:20
Demonuka Demonuka вне форума
Новичок
 
Регистрация: 10.05.2011
Адрес: г. Смоленск
Сообщения: 55
Версия Delphi: 7
Репутация: 10
По умолчанию

Не...так не работает...Либо я что-то не то в фильтре пишу. Решил сделать через ClientDataSet1.CommandText. Пишу так
Код:
procedure TForm1.Edit5Change(Sender: TObject);
begin
ClientDataSet1.CommandText:='SELECT * FROM Данные WHERE ТП = "'+Edit5.Text+'";';
ClientDataSet1.Open;
end;
Ииии...Не работает...:-( Ошибок не выдает, но фильтровать не хочет...
Ответить с цитированием
  #5  
Старый 14.01.2012, 14:20
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

конечно, работает: http://data.cod.ru/139021

Код:
type
  TForm1 = class(TForm)
    ClientDataSet1: TClientDataSet;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Edit1: TEdit;
    CheckBox1: TCheckBox;
    procedure FormCreate(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  ClientDataSet1.FieldDefs.Add('id', ftInteger);
  ClientDataSet1.FieldDefs.Add('name', ftString, 20);
  ClientDataSet1.CreateDataSet;
  for i:=0 to 15 do
  begin
    ClientDataSet1.Append;
    ClientDataSet1.FieldByName('id').AsInteger:=i;
    ClientDataSet1.FieldByName('name').AsString:=IntToHex(i, 2);
    ClientDataSet1.Post;
  end;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  ClientDataSet1.Filtered:=CheckBox1.Checked;
  if ClientDataSet1.Filtered then ClientDataSet1.Filter:=Edit1.Text;
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
Demonuka (16.01.2012)
  #6  
Старый 16.01.2012, 01:15
Demonuka Demonuka вне форума
Новичок
 
Регистрация: 10.05.2011
Адрес: г. Смоленск
Сообщения: 55
Версия Delphi: 7
Репутация: 10
По умолчанию

Спасибо, NumLock! Пойду выпрямлять руки...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:53.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter