Форум: "Начинающим";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];
Вниз
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.045 c