Главная страница
    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.258 c
15-1164882791
hero
2006-11-30 13:33
2006.12.24
Помогите разобраться с adsl модемом, мне нужно использовать радми


2-1165148813
WebSqlNeederr
2006-12-03 15:26
2006.12.24
Как узнать сколько строк в Excel заполнено?


15-1164895933
salexn
2006-11-30 17:12
2006.12.24
Native Компоненты для работы с XML


15-1164887458
UMU
2006-11-30 14:50
2006.12.24
Распознаватели текста


6-1149957839
Max.66RUS
2006-06-10 20:43
2006.12.24
Автоматическая отправка E-mail...





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