Главная страница
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.047 c
2-1165300164
ПытливыйУМ
2006-12-05 09:29
2006.12.24
Перемищать форму за WebBrowser


2-1165260019
funky
2006-12-04 22:20
2006.12.24
Импорт в эксель


2-1165224363
Картошка
2006-12-04 12:26
2006.12.24
Как добавить поле к таблице


15-1164896633
Mozart
2006-11-30 17:23
2006.12.24
Посоветуйте хостинг...


2-1165553803
Алексей С.
2006-12-08 07:56
2006.12.24
Удаление Run-Time элементов управления