Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];

Вниз

Фильтрация в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.031 c
11-1141978027
Andr-04
2006-03-10 11:07
2006.12.24
BMP в KOLOLERichEdit


2-1165376580
Desk
2006-12-06 06:43
2006.12.24
Подскажите алгоритм доски?


2-1165248285
PP
2006-12-04 19:04
2006.12.24
Связь нескольких запросов средствами Делфи......


15-1164878438
TUser
2006-11-30 12:20
2006.12.24
Проблема с инсталлятором


15-1165203395
Slider007
2006-12-04 06:36
2006.12.24
С днем рождения ! 3 декабря





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский