Вниз
Скачать: CL | DM;

Фильтрация в DataSet   Найти похожие ветки 

 
Bew   (2006-10-05 05:07) [0]

Пытаюсь вывести в DBGrid не базу данных, а TList из MyRecord (Ну, или массив какой-нибудь, это не важно), причём с возможностью редактирования стандартными методами (типа MyDataSet.Insert, Post, Edit, etc). Для реализации я решил написать потомка TDataSet. Пока у меня получилось сделать просмотр и изменение записей. А вот фильтрацию реализовать не выходит.
Пытался копать борландовские исходники TTable, однако для понимания сабжа интеллекта у меня маловато ;) Общий смысл, вроде бы, такой: в GetRecord смотрим, удовлетворяет ли текущая запись фильтру и либо всё ок, либо берём следующую. Внимание, вопрос: какой собственно метод производит проверку соответствия фильтру? Как его прикрутить к моему DS?


 
atruhin ©   (2006-10-05 06:44) [1]

А зачем это писать, в сети масса компонент подобного рода, написанных довольно качественно. Ты думаешь что сделаешь лучше?
Бесплатные: kbmMemTable, еще http://www.stikriz.narod.ru/sourses.htm
Платные: TMemTableEh (www.Ehlib.com)


 
MsGuns ©   (2006-10-05 10:42) [2]

TClientDataSet придуман и для этих целей тоже. Причем он существенно мощнее "деддушки" TDataSet ;))

Не слушайте atruhin © (05.10.06 06:44) [1] - он дает очень вредный совет.


 
dr Gonzo ©   (2006-10-05 11:16) [3]

Соответствие фильтру определяет уже пользователь компонента, определяя это в событии

OnFilterRecord(DataSet: TDataSet; var Accept: Boolean)

Cоветую посмотреть исходники RxLib TRxMemoryData, реализацию методов: RecordFilter и GetRecord.

P.S. Писать свое всегда полезно, пускай это и хуже чем у других - преобретается очень хороший опыт.


 
atruhin ©   (2006-10-05 17:28) [4]

> Не слушайте atruhin © (05.10.06 06:44) [1] - он дает очень
> вредный совет.

А где я даю совет, по поводу:

> TClientDataSet придуман и для этих целей тоже

Вроде я отговаривал, от я решил написать потомка TDataSet
А CDS - хороший вариант, только dll потом таскать.


 
Stanislav ©   (2006-10-05 17:33) [5]

в cxGRID все реализовано, и сортировки и фильтрация и т.д.


 
atruhin ©   (2006-10-05 18:27) [6]

При чем тут
> в cxGRID все реализовано

автор писал:

> Пытаюсь вывести в DBGrid не базу данных, а TList из MyRecord


 
Stanislav ©   (2006-10-06 08:54) [7]

atruhin ©   (05.10.06 18:27) [6]

А там можно и базу и не базу.
Переключается DBTableView на TableView.


 
Сало   (2006-10-06 11:03) [8]

Возьмите VirtualTree и не мучайтесь.
Убогие dataset-ы должны умереть.


 
Desdechado ©   (2006-10-06 11:13) [9]

> А CDS - хороший вариант, только dll потом таскать.
Не нужно ничего таскать. MidasLib можно линковать в программу, причем он нужен только для провайдера.


 
Bew   (2006-10-06 21:15) [10]

Мне нужен не готовый компонент, а инфа по сабжу. Я ж не спрашивал "Где взять компонент".


 
Bew   (2006-10-13 03:42) [11]

Вопрос решён. Всем спасибо!



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

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



Память: 0.47 MB
Время: 0.028 c
2-1165215033
sergeyst
2006-12-04 09:50
2006.12.24
создание форм


2-1164978881
juice
2006-12-01 16:14
2006.12.24
Проблемы с кодировкой


2-1165420972
Aleksandr77
2006-12-06 19:02
2006.12.24
Ответьте на вопрос о частоте монитора


3-1160811546
БогданБ
2006-10-14 11:39
2006.12.24
Как можно возвращать ScrolBar?


2-1165574989
.ruslan
2006-12-08 13:49
2006.12.24
Как зепретить в Richedit ставить курсор?




   Наверх