|
|
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
Подскажите суто организационный вопрос,как вы поступаете? Есть таблица операций (одна из основных таблиц и самая большая по количеству записей). В программе есть форма где строится отчет по этой таблице который включает кучу условий (дата с, дата по, чекбоксы, комбобоксы...). Сначало я делаю выбоку по таблице и в условие передаю дата с, дата по (where data_oper>=data_begin and data_oper<=data_end), потом уже локально через Filter одеваю условия фильтрации, и запоминаю какие даты установил пользователь. Если при следующем жмякании кнопки "Применить фильтр" пользователь не поменял даты, я выборку не делаю а только применяю фильтра локально. Если пользователь просматривает отчет который включает текущее число то сколько раз он не жмякнет кнопку "Применить фильтр" он не увидит операцию которая была выплнена недавно пока неизменить промежуток дат (в этом случае я делаю новый селект в базу). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2019, 19:25 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
Sashauaя делаю новый селект в базуЯ так делаю всегда и не парю мозг и процессор клиентского компа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 00:06 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
Зачем клиенту данные, если они отсеиваются фильтром ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 00:16 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
Локальная фильтрация имеет смысл только если основной запрос достаточно долог а объем возвращаемых данных относительно невелик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 00:50 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
Сделайте просто кнопку обновить, которая будет перечитывать данные из БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 04:07 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
Sashauaкак вы поступаете?даю загрузить из бд с указанием произвольного условия отбора а потом загруженное уже фильтровать и вертеть на клиенте, порой это гораздо быстрее чем отсеивать сразу на сервере. да и мучать его бедного лишний раз тем что уже есть на клиенте иногда западло, ему и так несладко ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 10:02 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
Делаю всю фильтрацию и сортировки на клиенте, один раз подгрузил таблицу в связке DBGridEh -> DataSource -> MemTableEh -> DBDriverEh -> Query и не нагружаю лишний раз базу запросами. Если таблица часто обновляется, то уже через запросы к БД, но такое встречается очень редко. Тоже интересно услышать все доводы за и против и что же лучше в каких случаях, локальная фильтрация или на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 11:04 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
Я всегда делаю новый Select, т. к. тупо не использую локальную фильтрацию. Просто не изучал особо этот вопрос. Тут, возможно, не в этом проблема, я делал выборки данных с базы, где хранится инфа о ходе тех процесса на пром. оборудовании, это как бы десятки гигов данных легко, но при нормальной индексации по времени (MS SQL Server, как у всяких скулайтов не знаю) с этим нет никаких проблем. Т. е. нужна прокрутка на 12 часов, просто новый Select, без заморочек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 11:55 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
afordДелаю всю фильтрацию и сортировки на клиенте и не нагружаю лишний раз базу запросамиБраво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 14:46 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
Сторонник фильтрации на сервере. Часто всосать базу на клиент для локальной сортировки - накладная операция. Пропускная способность сетки - вещь непредсказуемая. Плюс выше актуальность данных при серверной фильтрации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2019, 23:05 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
SashauaСначало я делаю выбоку по таблице и в условие передаю дата с, дата по (where data_oper>=data_begin and data_oper<=data_end), потом уже локально через Filter одеваю условия фильтрации, и запоминаю какие даты установил пользователь.Поскольку мерзкий DevExpress очень популярен, то фильтрует он сам "удобно" на клиенте. В результате получается, что поля скрыты из показа у пользователей, но тянутся из базы. Пользователи удивляются, что скрытие полей не ускоряет процесса. Но кого интересует их мнение? Так же и подход ORM часто не позволяет фильтровать на сервере. Зато- стильно и молодёжно. СарказмОфф. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2019, 09:52 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
white_nigger, как тонко камешек кинули... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2019, 12:21 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
Предоставляю пользователю оба варианта - пусть сам решает. Но если полей много-много, то создавать форму с параметрами поиска для всех полей - это 3,14здец. Поэтому, Поэтому - оба способа, но для серверной выборки - основные поля и для всех полей - все параметры фильтрации прямо в таблице. Благо современные сетки имеют встроенные фильтры, что не скажешь про стандартный позорный TDBGrid. Разработчики VCL за последние годы потратили кучу времени на то, что реально оказалось ненужным, вместо того, чтобы усовершенствовать стандартные компоненты VCL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2019, 12:37 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
X11Предоставляю пользователю оба варианта - пусть сам решает. Но если полей много-много, то создавать форму с параметрами поиска для всех полей - это 3,14здец. Поэтому, Поэтому - оба способа, но для серверной выборки - основные поля и для всех полей - все параметры фильтрации прямо в таблице. Благо современные сетки имеют встроенные фильтры, что не скажешь про стандартный позорный TDBGrid. Разработчики VCL за последние годы потратили кучу времени на то, что реально оказалось ненужным, вместо того, чтобы усовершенствовать стандартные компоненты VCL. Ну почему же? стандартный TDBGrid - всего лишь заготовка, которая после необходимых манипуляций превращается в деталь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2019, 12:45 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
В том-то и дело, что за 20 лет можно было превратить TDBGrid в конфетку. Плюс разработать что-то вроде Layout от DevExpress. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2019, 10:54 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
X11В том-то и дело, что за 20 лет можно было превратить TDBGrid в конфетку. Плюс разработать что-то вроде Layout от DevExpress. Не надо превращать в конфетку. TDBGrid в состоянии as is решить 80% задач. Еще 18% решаются через руки.sys и мозги.com, посредством минимального самостоятельного допиливания/использования легковесных библиотек. А конфетка в виде DevExpress и подобных очень часто приводит к несварению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2019, 13:26 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)white_nigger, как тонко камешек кинули...У нас есть решение для обоих вариантов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2019, 14:00 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
white_nigger, вообще не в курсе что там у вас, в глаза не видел даже - хотя было бы странно если бы не было но видишь, кто-то для себя открытие сделает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2019, 14:03 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
Zmeelov2Не надо превращать в конфетку. TDBGrid в состоянии as is решить 80% задач. Еще 18% решаются через руки.sys и мозги.com, посредством минимального самостоятельного допиливания/использования легковесных библиотек. А конфетка в виде DevExpress и подобных очень часто приводит к несварению.Хрень полная. Даже комментировать лениво ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2019, 14:05 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2019, 15:43 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
white_nigger, +1 но я прокомментировал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2019, 15:44 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
Zmeelov2X11В том-то и дело, что за 20 лет можно было превратить TDBGrid в конфетку. Плюс разработать что-то вроде Layout от DevExpress. Не надо превращать в конфетку. TDBGrid в состоянии as is решить 80% задач. Еще 18% решаются через руки.sys и мозги.com, посредством минимального самостоятельного допиливания/использования легковесных библиотек. А конфетка в виде DevExpress и подобных очень часто приводит к несварению. Если бы ты был прав, то таких сеток, как у TMS, EhLib, DevExpress и т.д. не было бы в мире Delphi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2019, 15:45 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
X11Zmeelov2TDBGrid в состоянии as is решить 80% задач. Ты забыл добавить НЕБез скобок вообще работать невозможно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2019, 16:20 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
X11Если бы ты был прав, то таких сеток, как у TMS, EhLib, DevExpress и т.д. не было бы в мире Delphi. Ну да, миллионы мух не могут ошибаться. А вот теперь уберите руки от клавиатуры и задумайтесь - какие задачи вы решали с помощью расширенных гридов. И были ли это потребности отображения данных или бесконечная гонка за красивостями. И можно ли было их решить по-другому, на базе стандартного DBGrid или минимального его обвеса хелперами/собственного компонента. При этом ваша дописка будет делать только то и именно то, что нужно вам, а "конфетка" будет жить собственной жизнью. Причем объем доки на "конфетки" превышает зачастую объем доки на среду разработки. "Было отображение сортировки в заголовке, точно помню было. Но надо выставить галочку в третьем уровне настроек и не забыть, что состояние индикатора никак не привязано к фактическому порядку сортировки при открытии набора данных, их надо связать кодом..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2019, 13:44 |
|
||
|
Подскажите как вы поступаете при фильтрации записей.
|
|||
|---|---|---|---|
|
#18+
Zmeelov2И были ли это потребности отображения данных или бесконечная гонка за красивостями. Отвечу: моё начальство считало каждую копейку и на "гонку за красивостями" просто не выделило бы ни минуты. Zmeelov2И можно ли было их решить по-другому, на базе стандартного DBGrid или минимального его обвеса Насколько я помню, "решения на базе стандартного DBGrid" у меня закончились во времена Delphi 2, когда выяснилось, что при внедрении в него многострочного заголовка он принципиально и неустранимо начинает глючить. Ну а многострочные заголовки были нужны потому, что у колонки с короткими данными (скажем, числа в пределах 5-6 знаков) часто требовался заголовок из пары слов, и выбор между "тратить кучу места на пустоту в данных" и "выводить в заголовке жалкий огрызок" не устраивал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2019, 15:52 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39821655&tid=2039387]: |
0ms |
get settings: |
6ms |
get forum list: |
25ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 487ms |

| 0 / 0 |
