![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Написал процедуру фильтрации данных в DBGridEh для компонентов AnyDAC.
В конце unit'a написал DBGridEhDefaultStyle.FilterEditCloseUpApplyFilter := True; Но сортировка всё равно происходит только после нажатия Enter. Код:
procedure TFormMain.DBGridEhPurchaseApplyFilter(Sender: TObject); var s : string; cond:string; i:integer; begin cond:=''; s:=''; TADDataSet(TDBGridEh(Sender).DataSource.DataSet).filtered:=false; with TDBGridEh(Sender) do begin if (not DataSource.DataSet.Active) or (DataSource.DataSet.RecordCount = 0) then exit; for i := 0 to TDBGridEh(Sender).Columns.Count - 1 do begin cond :=TDBGridEh(Sender).Columns[i].STFilter.ExpressionStr; if cond <> '' then begin s :=s+ '['+TDBGridEh(Sender).Columns[i].FieldName + '] LIKE ''%'+ cond + '%'' AND '; end; end; Delete(s, Length(s) - 3, 4); TADDataSet(DataSource.DataSet).Filter:=s; end; //with TADDataSet(TDBGridEh(Sender).DataSource.DataSet).filtered:=true; end; initialization DBGridEhDefaultStyle.FilterEditCloseUpApplyFilter:=true; |
#2
|
||||
|
||||
![]() в таких случаях я делаю сортировку по событию OnKeyPress компонента
Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|