Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.113 c
15-1189495444
iam
2007-09-11 11:24
2007.10.14
Методики раз-ки ПО при сильно изменяющихся требованиях


15-1189622431
Инс
2007-09-12 22:40
2007.10.14
Подскажите микросхему


2-1189972976
Lamer666
2007-09-17 00:02
2007.10.14
Проблема при переборе значений в ADOQuery


1-1185882922
oxffff
2007-07-31 15:55
2007.10.14
Статический вызов виртуального метода.


3-1181295469
DelphiLexx
2007-06-08 13:37
2007.10.14
XML - сохранение данных из БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский