Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.24;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.049 c
1-1162995840
Choco
2006-11-08 17:24
2006.12.24
Изменить цвет выделения


2-1165322084
Mishenka
2006-12-05 15:34
2006.12.24
Сообщение у значка программы в трее.


15-1164727925
SysError
2006-11-28 18:32
2006.12.24
архив форума


15-1164826853
syte_ser78
2006-11-29 22:00
2006.12.24
Небольшой юбилей


15-1164882791
hero
2006-11-30 13:33
2006.12.24
Помогите разобраться с adsl модемом, мне нужно использовать радми