Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.14;
Скачать: CL | DM;

Вниз

Ehlib для EhlibIBX   Найти похожие ветки 

 
Mery   (2007-09-20 07:43) [0]

Может, кто-то уже решил проблему, с которой я столкнулась. При использовании указанных компонентов не сортируются и не фильтруются данные в DBGridEh для IBX. Как поправить код EhlibIBX?


 
MsGuns ©   (2007-09-20 08:14) [1]

Прежде всего не использовать компоненты бездумно


 
Mery   (2007-09-20 11:30) [2]

Это понятно. Вопрос мой конкретнее.


 
Sergey13 ©   (2007-09-20 11:37) [3]

> [0] Mery   (20.09.07 07:43)
> Как поправить код EhlibIBX?

Может достаточно поправить свой код использования компонентов? Справку по ним почитать?


 
clickmaker ©   (2007-09-20 11:41) [4]

смотри в сторону \EhLib\DataService\EhLibIBX.pas


 
Slym ©   (2007-09-20 13:45) [5]

чтото типа
TSQLDatasetFeaturesEh(GetDatasetFeaturesForDataSetClass(TADOQuery)).SortUsingFie ldName:=true;

TADOQuery - заменить на нужное


 
Slym ©   (2007-09-20 13:45) [6]

Slym ©   (20.09.07 13:45) [5]
EhlibIBX

и обязательно uses EhlibIBX;


 
zzzz   (2007-09-20 13:56) [7]

Надо скопировать файл EhLibADO.Pas в папку с проектом и подключить его к проекту.


 
Mery   (2007-09-21 07:13) [8]

>zzzz   (20.09.07 13:56) [7]
>Надо скопировать файл EhLibADO.Pas в папку с проектом и подключить его >к проекту.

А причём EhLibADO.Pas?
EhLibIBX.Pas я подключила. Но в нём самом ошибка: ни сортировка, ни фильтрация не идёт. В том и вопрос:как подкорректировать EhLibIBX? Может, кто-то это уже сделал.


 
Slym ©   (2007-09-21 08:54) [9]

мой код пробовала?
по умолчанию TSQLDatasetFeaturesEh использует номер столбца для манипуляций, а в SQL нужно имя
строки

initialization
TSQLDatasetFeaturesEh(GetDatasetFeaturesForDataSetClass(TIBDataSet)).SortUsingFi eldName:=true;
TSQLDatasetFeaturesEh(GetDatasetFeaturesForDataSetClass(TIBQuery)).SortUsingFiel dName:=true;

включает распознавание потей по имени


 
Mery   (2007-09-21 09:15) [10]

Большое спасибо Slym.
теперь как-то через раз но срабатывает.
В результате код EhLIB (это версия 3.5)имеет вид:

unit EhLibIBX;
{$I EhLib.Inc}
interface

uses
 DbUtilsEh, IBQuery, IBCustomDataSet, Db, IBTable;

implementation

function IBDataSetDriverName(DataSet: TDataSet): String;
begin
 Result := "INTRBASE";
end;

function DateValueToIBSQLStringProc(DataSet: TDataSet; Value: Variant): String;
begin
 Result := DateValueToDataBaseSQLString(IBDataSetDriverName(DataSet), Value)
end;

type

 TIBSQLDatasetFeaturesEh = class(TSQLDatasetFeaturesEh)
 public
   constructor Create; override;
 end;

 TIBSelectSQLDatasetFeaturesEh = class(TSQLDatasetFeaturesEh)
 public
   constructor Create; override;
 end;

//implementation

{ TIBSQLDatasetFeaturesEh }

constructor TIBSQLDatasetFeaturesEh.Create;
begin
 inherited Create;
 DateValueToSQLString := DateValueToIBSQLStringProc;
 SQLPropName := "SQL";
end;

{ TIBSelectSQLDatasetFeaturesEh }

constructor TIBSelectSQLDatasetFeaturesEh.Create;
begin
 inherited Create;
 DateValueToSQLString := DateValueToIBSQLStringProc;
 SQLPropName := "SelectSQL";
end;

initialization

 RegisterDatasetFeaturesEh(TIBSQLDatasetFeaturesEh, TIBQuery);
 RegisterDatasetFeaturesEh(TIBSelectSQLDatasetFeaturesEh, TIBDataSet);
 RegisterDatasetFeaturesEh(TIBSelectSQLDatasetFeaturesEh, TIBTable);
TSQLDatasetFeaturesEh(GetDatasetFeaturesForDataSetClass(TIBDataSet)).SortUsingFi eldName:=true;
TSQLDatasetFeaturesEh(GetDatasetFeaturesForDataSetClass(TIBQuery)).SortUsingFiel dName:=true;
TSQLDatasetFeaturesEh(GetDatasetFeaturesForDataSetClass(TIBTable)).SortUsingFiel dName:=true;
 end.

Но теперь бы ещё автоматическую фильтрацию...
Может, кто-то уже и это настроил... Или у кого то есть более совершенная версия EhlibIBX....


 
Mery   (2007-09-21 09:33) [11]

И ещё. Сортировка Работает на IBDataSet. А с IBTable дает ошибку:TIBTAble is not SQL based dataset. Т.е использовать TIBTABLE нельзя?


 
zdm77   (2007-09-21 10:39) [12]

а нафига в обще использовать Table? чем Qury-то не устраивает? та же Table но правда с ТАКИМИ запросами :)


 
zdm77   (2007-09-21 10:40) [13]

TIBTAble is not SQL based dataset
Вот если TTable откликнулась на SQL запрос.....вот это было-бы чудо :)


 
Вася Правильный   (2007-09-21 11:41) [14]


> Но теперь бы ещё автоматическую фильтрацию...

в IBX фильтрация не реализована, только через OnFilterRecord



Страницы: 1 вся ветка

Текущий архив: 2007.10.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
2-1190060011
NL
2007-09-18 00:13
2007.10.14
Что подумает об этом компилятор?


2-1190242394
Critter
2007-09-20 02:53
2007.10.14
Форма на web-странице в Интернет


6-1171376436
X-Nex
2007-02-13 17:20
2007.10.14
WebBrowser конец загрузки страницы


15-1189774018
Василий
2007-09-14 16:46
2007.10.14
Розыскивается bzlib для D7


1-1185952348
Dmitry_177
2007-08-01 11:12
2007.10.14
Как сделать чтобы Edit имелл фокус при запуске