Поиск:

Ответ в темуСоздание новой темы Создание опроса
> FibPlus Ehlib фильтрация... 
:(
    Опции темы
Tenyps
Дата 29.3.2006, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 1.8.2005
Где: Белгород-Днестров ский

Репутация: нет
Всего: нет



вот опять приехал...
Использую FibPlus 6.4.1 Ehlib 4.0

на форме pfibDatabase, pfibTransaction, pfibDataSet, DataSource
из ехлиба DBGridEh

пописал EhlibFIB
выставил сортировку и STFilter в true, pfibDataSet.Filtered:=true, в колонках DBGridEh выставил параметры STFilter

в итоге..сортирует все ...и НИЧЕ не ФИЛЬТРУЕТ...вот лажа...

помогите..может чего не указал и вообще фильтрация в ехлибе работает с фибами???
Добавлено @ 12:20
Да..забыл...база в Firebird 1.5.2 но это большого отношения к делу не имеет smile
PM MAIL ICQ   Вверх
Fast
Дата 29.3.2006, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 21.3.2006
Где: Санкт-Петербург

Репутация: 1
Всего: 1



А можеш написать как ты работаеш с STFilter В DbGridEh???
Этот фильтр фильтрует только грид ?
PM MAIL   Вверх
Tenyps
Дата 30.3.2006, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 1.8.2005
Где: Белгород-Днестров ский

Репутация: нет
Всего: нет



Спасиб, проблему решил...
В стандартном инстале идет EhlibFib v.2.5
Я нашел обновленный модуль EhlibFib v.3.6

выкладываю для тех кто сталкнется с проблемой...
Код

{*******************************************************}
{                                                       }
{                       EhLib v3.6                      }
{    Register object that sort data in TpFIBDataset     }
{                                                       }
{      Copyright (c) 2005 by Roman V. Babenko           }
{ e-mail: [email protected]                      }
{                                                       }
{*******************************************************}

{*******************************************************}
{ Add this unit to 'uses' clause of any unit of your    }
{ project to allow TDBGridEh to sort data in            }
{ TpFIBDataset automatically after sorting markers      }
{ will be changed.                                      }
{ TFIBDatasetFeaturesEh will sort data locally          }
{ using DoSort procedure of TpFIBDataset                }
{ [+] SortLocal                                         }
{ [+] FilterLocal                                       }
{ [+] SortServer                                        }
{ [+] FilterServer                                      }
{*******************************************************}

unit EhLibFIB;

interface

{$I EhLib.Inc}

implementation

uses
 DBUtilsEh, pFIBDataSet, DB, DBGridEh, Classes;

type
 TpFIBDatasetFeaturesEh = class( TDatasetFeaturesEh )
 public
  procedure ApplySorting(Sender: TObject; DataSet: TDataSet; IsReopen: Boolean); override;
  procedure ApplyFilter(Sender: TObject; DataSet: TDataSet; IsReopen: Boolean); override;
 end;


{ TpFIBDatasetFeaturesEh }

procedure TpFIBDatasetFeaturesEh.ApplyFilter(Sender: TObject;
  DataSet: TDataSet; IsReopen: Boolean);
var
 vDBGridEh   : TCustomDBGridEh;
 vFIBDataSet : TpFIBDataSet;
begin
 if ( Sender is TDBGridEh )
 then begin
       if ( Sender as TDBGridEh ).STFilter.Local
       then begin
             { ToDO Debug 'Expr1 and Expr2' }
             TpFIBDataSet( DataSet ).Filter :=
               GetExpressionAsFilterString( ( Sender as TCustomDBGridEh ),
                GetOneExpressionAsLocalFilterString, nil );
             TpFIBDataSet( DataSet ).Filtered := True;
            end
       else begin
             ApplyFilterSQLBasedDataSet( ( Sender as TCustomDBGridEh ), nil,
              IsReopen, 'SelectSQL' );
            end;
      end;
end;

procedure TpFIBDatasetFeaturesEh.ApplySorting(Sender: TObject;
  DataSet: TDataSet; IsReopen: Boolean);
var
 Sort   : array of boolean;
 I, J   : integer;
 Grid   : TCustomDBGridEh;
 Fields : TStrings;
begin
 if ( Sender is TCustomDBGridEh )
 then begin
       if ( Sender as TCustomDBGridEh ).SortLocal
       then begin
             Grid:=TCustomDBGridEh(Sender);
             J := Grid.SortMarkedColumns.Count;
             Fields := TStringList.Create;
             Setlength( Sort, J );
             for i:=0 to J - 1 do
              begin
               Fields.Add( Grid.SortMarkedColumns[i].FieldName );
               Sort[ I ]:=Grid.SortMarkedColumns[i].Title.SortMarker=smDownEh;
              end;
             TpFIBDataSet( DataSet ).DoSortEx( Fields, Sort );
            end
        else begin
              ApplySortingForSQLBasedDataSet( ( Sender as TCustomDBGridEh ),
               TpFIBDataSet( DataSet ), True, IsReopen, 'SelectSQL' );
             end;
       end;
end;

initialization
 RegisterDatasetFeaturesEh( TpFIBDatasetFeaturesEh, TpFIBDataSet );
end.


Добавлено @ 10:00
Да, EhlibFib v.3.6 также хорошо работает и при применении Ehlib 4.0...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.