![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Есть такая схема TClientDataSet --> TDataSource --> TDBGrid. Необходимо сделать фильтрацию по полю DBGrid1.Fields[1]. Фильтрация типа "вводим в Edit1 нечто и получаем отфильтрованные данные". Проблема в том, что я почему то не сделал ни ADOTable ни ADOQuery и использовать SQL запросы не получается. Переделывать не хотелось бы, ибо это единственное, что не работает. Можно ли как то еще отфильтровать?
|
|
#2
|
||||
|
||||
|
Код:
ClientDataSet1.Filter:='********'; ClientDataSet1.Filtered:=True; |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Demonuka (13.01.2012)
| ||
|
#3
|
|||
|
|||
|
Спасибо, ты как всегда выручил...
![]() |
|
#4
|
|||
|
|||
|
Не...так не работает...Либо я что-то не то в фильтре пишу. Решил сделать через ClientDataSet1.CommandText. Пишу так
Код:
procedure TForm1.Edit5Change(Sender: TObject); begin ClientDataSet1.CommandText:='SELECT * FROM Данные WHERE ТП = "'+Edit5.Text+'";'; ClientDataSet1.Open; end; |
|
#5
|
||||
|
||||
|
конечно, работает: 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
|
|||
|
|||
|
Спасибо, NumLock! Пойду выпрямлять руки...
![]() |