Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.021 c
15-1189669246
Vlad Oshin
2007-09-13 11:40
2007.10.14
Идея написать программку - статистика футбола, например


2-1190185844
artem779
2007-09-19 11:10
2007.10.14
пробег по строке


2-1189951103
Ezorcist
2007-09-16 17:58
2007.10.14
Синхронная прокрутка двух TMemo


15-1190128267
VirEx
2007-09-18 19:11
2007.10.14
Российская demoкратия (с)


2-1190119267
artem779
2007-09-18 16:41
2007.10.14
Internet Explorer




   Наверх