powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Подскажите как вы поступаете при фильтрации записей.
25 сообщений из 27, страница 1 из 2
Подскажите как вы поступаете при фильтрации записей.
    #39818947
Sashaua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите суто организационный вопрос,как вы поступаете?
Есть таблица операций (одна из основных таблиц и самая большая по количеству записей).
В программе есть форма где строится отчет по этой таблице который включает кучу условий (дата с, дата по, чекбоксы, комбобоксы...).
Сначало я делаю выбоку по таблице и в условие передаю дата с, дата по (where data_oper>=data_begin and data_oper<=data_end), потом уже локально через Filter одеваю условия фильтрации, и запоминаю какие даты установил пользователь. Если при следующем жмякании кнопки "Применить фильтр" пользователь не поменял даты, я выборку не делаю а только применяю фильтра локально.
Если пользователь просматривает отчет который включает текущее число то сколько раз он не жмякнет кнопку "Применить фильтр" он не увидит операцию которая была выплнена недавно пока неизменить промежуток дат (в этом случае я делаю новый селект в базу).
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39819023
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sashauaя делаю новый селект в базуЯ так делаю всегда и не парю мозг и процессор клиентского компа.
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39819025
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем клиенту данные, если они отсеиваются фильтром ?
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39819031
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локальная фильтрация имеет смысл только если основной запрос достаточно долог а объем возвращаемых данных относительно невелик.
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39819050
istrebitel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделайте просто кнопку обновить, которая будет перечитывать данные из БД.
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39819112
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sashauaкак вы поступаете?даю загрузить из бд с указанием произвольного условия отбора а потом загруженное уже фильтровать и вертеть на клиенте, порой это гораздо быстрее чем отсеивать сразу на сервере. да и мучать его бедного лишний раз тем что уже есть на клиенте иногда западло, ему и так несладко
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39819146
aford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю всю фильтрацию и сортировки на клиенте, один раз подгрузил таблицу в связке DBGridEh -> DataSource -> MemTableEh -> DBDriverEh -> Query и не нагружаю лишний раз базу запросами.
Если таблица часто обновляется, то уже через запросы к БД, но такое встречается очень редко.
Тоже интересно услышать все доводы за и против и что же лучше в каких случаях, локальная фильтрация или на сервере.
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39819187
Beltar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я всегда делаю новый Select, т. к. тупо не использую локальную фильтрацию. Просто не изучал особо этот вопрос.
Тут, возможно, не в этом проблема, я делал выборки данных с базы, где хранится инфа о ходе тех процесса на пром. оборудовании, это как бы десятки гигов данных легко, но при нормальной индексации по времени (MS SQL Server, как у всяких скулайтов не знаю) с этим нет никаких проблем. Т. е. нужна прокрутка на 12 часов, просто новый Select, без заморочек.
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39819339
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afordДелаю всю фильтрацию и сортировки на клиенте и не нагружаю лишний раз базу запросамиБраво.
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39819534
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сторонник фильтрации на сервере. Часто всосать базу на клиент для локальной сортировки - накладная операция. Пропускная способность сетки - вещь непредсказуемая. Плюс выше актуальность данных при серверной фильтрации.
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39819641
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashauaСначало я делаю выбоку по таблице и в условие передаю дата с, дата по (where data_oper>=data_begin and data_oper<=data_end), потом уже локально через Filter одеваю условия фильтрации, и запоминаю какие даты установил пользователь.Поскольку мерзкий DevExpress очень популярен, то фильтрует он сам "удобно" на клиенте. В результате получается, что поля скрыты из показа у пользователей, но тянутся из базы. Пользователи удивляются, что скрытие полей не ускоряет процесса. Но кого интересует их мнение? Так же и подход ORM часто не позволяет фильтровать на сервере. Зато- стильно и молодёжно. СарказмОфф.
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39819754
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_nigger,

как тонко камешек кинули...
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39819770
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предоставляю пользователю оба варианта - пусть сам решает.
Но если полей много-много, то создавать форму с параметрами поиска для всех полей - это 3,14здец. Поэтому, Поэтому - оба способа, но для серверной выборки - основные поля и для всех полей - все параметры фильтрации прямо в таблице. Благо современные сетки имеют встроенные фильтры, что не скажешь про стандартный позорный TDBGrid. Разработчики VCL за последние годы потратили кучу времени на то, что реально оказалось ненужным, вместо того, чтобы усовершенствовать стандартные компоненты VCL.
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39819777
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Предоставляю пользователю оба варианта - пусть сам решает.
Но если полей много-много, то создавать форму с параметрами поиска для всех полей - это 3,14здец. Поэтому, Поэтому - оба способа, но для серверной выборки - основные поля и для всех полей - все параметры фильтрации прямо в таблице. Благо современные сетки имеют встроенные фильтры, что не скажешь про стандартный позорный TDBGrid. Разработчики VCL за последние годы потратили кучу времени на то, что реально оказалось ненужным, вместо того, чтобы усовершенствовать стандартные компоненты VCL.
Ну почему же? стандартный TDBGrid - всего лишь заготовка, которая после необходимых манипуляций превращается в деталь...
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39820251
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том-то и дело, что за 20 лет можно было превратить TDBGrid в конфетку. Плюс разработать что-то вроде Layout от DevExpress.
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39820741
Zmeelov2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11В том-то и дело, что за 20 лет можно было превратить TDBGrid в конфетку. Плюс разработать что-то вроде Layout от DevExpress.
Не надо превращать в конфетку. TDBGrid в состоянии as is решить 80% задач. Еще 18% решаются через руки.sys и мозги.com, посредством минимального самостоятельного допиливания/использования легковесных библиотек.
А конфетка в виде DevExpress и подобных очень часто приводит к несварению.
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39820767
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)white_nigger,
как тонко камешек кинули...У нас есть решение для обоих вариантов
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39820769
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_nigger,

вообще не в курсе что там у вас, в глаза не видел даже - хотя было бы странно если бы не было
но видишь, кто-то для себя открытие сделает
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39820770
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zmeelov2Не надо превращать в конфетку. TDBGrid в состоянии as is решить 80% задач. Еще 18% решаются через руки.sys и мозги.com, посредством минимального самостоятельного допиливания/использования легковесных библиотек.
А конфетка в виде DevExpress и подобных очень часто приводит к несварению.Хрень полная. Даже комментировать лениво
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39820839
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zmeelov2TDBGrid в состоянии as is решить 80% задач.

Ты забыл добавить НЕ
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39820842
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_nigger, +1 но я прокомментировал
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39820843
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zmeelov2X11В том-то и дело, что за 20 лет можно было превратить TDBGrid в конфетку. Плюс разработать что-то вроде Layout от DevExpress.
Не надо превращать в конфетку. TDBGrid в состоянии as is решить 80% задач. Еще 18% решаются через руки.sys и мозги.com, посредством минимального самостоятельного допиливания/использования легковесных библиотек.
А конфетка в виде DevExpress и подобных очень часто приводит к несварению.

Если бы ты был прав, то таких сеток, как у TMS, EhLib, DevExpress и т.д. не было бы в мире Delphi.
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39820864
Фотография Gator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Zmeelov2TDBGrid в состоянии as is решить 80% задач.

Ты забыл добавить НЕБез скобок вообще работать невозможно
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39821655
Zmeelov2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Если бы ты был прав, то таких сеток, как у TMS, EhLib, DevExpress и т.д. не было бы в мире Delphi.
Ну да, миллионы мух не могут ошибаться. А вот теперь уберите руки от клавиатуры и задумайтесь - какие задачи вы решали с помощью расширенных гридов. И были ли это потребности отображения данных или бесконечная гонка за красивостями. И можно ли было их решить по-другому, на базе стандартного DBGrid или минимального его обвеса хелперами/собственного компонента. При этом ваша дописка будет делать только то и именно то, что нужно вам, а "конфетка" будет жить собственной жизнью.
Причем объем доки на "конфетки" превышает зачастую объем доки на среду разработки.
"Было отображение сортировки в заголовке, точно помню было. Но надо выставить галочку в третьем уровне настроек и не забыть, что состояние индикатора никак не привязано к фактическому порядку сортировки при открытии набора данных, их надо связать кодом..."
...
Рейтинг: 0 / 0
Подскажите как вы поступаете при фильтрации записей.
    #39821777
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zmeelov2И были ли это потребности отображения данных или бесконечная гонка за красивостями.
Отвечу: моё начальство считало каждую копейку и на "гонку за красивостями" просто не выделило бы ни минуты.

Zmeelov2И можно ли было их решить по-другому, на базе стандартного DBGrid или минимального его обвеса
Насколько я помню, "решения на базе стандартного DBGrid" у меня закончились во времена Delphi 2, когда выяснилось, что при внедрении в него многострочного заголовка он принципиально и неустранимо начинает глючить. Ну а многострочные заголовки были нужны потому, что у колонки с короткими данными (скажем, числа в пределах 5-6 знаков) часто требовался заголовок из пары слов, и выбор между "тратить кучу места на пустоту в данных" и "выводить в заголовке жалкий огрызок" не устраивал.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Подскажите как вы поступаете при фильтрации записей.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]