|
|
|
Опять про SET FILTER TO
|
|||
|---|---|---|---|
|
#18+
Заметил такую странность.... Есть список накладных, на который ставицца нужный фильтр (пусть такой SET FILTER TO YEAR(ДатаНакладной)=ТекущийГод) и отображаецца в гриде... Так вот, если накладных, удовлетворяющих условию фильтра (например, текущему 2007 году) нет, то форма открываецца конечно же с пустым гридом, но гораздо медленне, чем если бы были отобраны какие-то записи по условию фильтра... Вот почему, если нет записей, удовлетворяющих условию фильтра, работа замедляецца? ЗЫ. хотел было сделать индекс в таблице, совпадающий с условием фильтра, но в фильтре могут быть переменные, например ТекущийГод... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 13:17 |
|
||
|
Опять про SET FILTER TO
|
|||
|---|---|---|---|
|
#18+
Уж сколько меня за использования SET FILTER на GRID мутузили. И это правильно. Тем более на расшаренном файле. Фильтр просто гробит грид. А от чего тормоз, мне кажется, - это просто. Чем больше отобрано записей по фильтру из всех имеющихся - тем быстрее грид как бы проявляется. Продолжение отбора не видно, когда появляется первый экран данных. Если записей вообще не отобрано - это как раз крайний жесткий случай. Если не ошибаюсь, при количестве записей за несколько тысяч эффект проявляется особенно ярко. Я так развлекался, пока не перешел на локальные гриды эксклюзивных зеркал расшаренных файлов, а потом и совсем отошел от этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 14:25 |
|
||
|
Опять про SET FILTER TO
|
|||
|---|---|---|---|
|
#18+
КонецЦиклаЗаметил такую странность.... Есть список накладных, на который ставицца нужный фильтр (пусть такой SET FILTER TO YEAR(ДатаНакладной)=ТекущийГод) и отображаецца в гриде... Так вот, если накладных, удовлетворяющих условию фильтра (например, текущему 2007 году) нет, то форма открываецца конечно же с пустым гридом, но гораздо медленне, чем если бы были отобраны какие-то записи по условию фильтра... Вот почему, если нет записей, удовлетворяющих условию фильтра, работа замедляецца? ЗЫ. хотел было сделать индекс в таблице, совпадающий с условием фильтра, но в фильтре могут быть переменные, например ТекущийГод... Сделай индекс по YEAR(ДатаНакладной) должно помочь. А в остальном уже сказали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 14:37 |
|
||
|
Опять про SET FILTER TO
|
|||
|---|---|---|---|
|
#18+
логично.... Вот уж действительно, труднее всего ответить на тот вопрос, ответ на который очевиден... Спасибо, коллеги! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 16:07 |
|
||
|
Опять про SET FILTER TO
|
|||
|---|---|---|---|
|
#18+
Dima TСделай индекс по YEAR(ДатаНакладной) должно помочь. А в остальном уже сказали. Если версия FoxPro младше 9, то для Grid - не поможет. Там нет оптимизации для наложенных фильтров внутри Grid. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2007, 16:35 |
|
||
|
Опять про SET FILTER TO
|
|||
|---|---|---|---|
|
#18+
ВладимирМ а какой способ есть создания интерфейса с помощью Grid и наложенным фильтром не подскажите, а то почти подобная ситуация как у автора (Foxpro 7) и необходимо создать интерфейс редактирования таблицы по установленному фильтру Спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 06:23 |
|
||
|
Опять про SET FILTER TO
|
|||
|---|---|---|---|
|
#18+
=Sergey== ВладимирМ а какой способ есть создания интерфейса с помощью Grid и наложенным фильтром не подскажите, а то почти подобная ситуация как у автора (Foxpro 7) и необходимо создать интерфейс редактирования таблицы по установленному фильтру Спасибо ! Вместо фильтра можно использовать индекс с фильтром Код: plaintext Вот только если используешь табличную буферизацию и (или) транзакции, то это решение становится неригодным. Вернее придется выполнять различные сложные маневры для обхода возникающих проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 08:37 |
|
||
|
Опять про SET FILTER TO
|
|||
|---|---|---|---|
|
#18+
=Sergey== ВладимирМ а какой способ есть создания интерфейса с помощью Grid и наложенным фильтром не подскажите, а то почти подобная ситуация как у автора (Foxpro 7) и необходимо создать интерфейс редактирования таблицы по установленному фильтру Спасибо ! Local View Т.е. не фильтр накладывать, а просто сделать выборку нужных записей. Фильтр (SET FILTER) имеет смысл использовать, если количество записей, отбрасываемых этим фильтром, относительно невелико. Если же необходимо отбросить значительный процент данных, то лучше делать выборку (Local View). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 10:11 |
|
||
|
Опять про SET FILTER TO
|
|||
|---|---|---|---|
|
#18+
насколько я знаю Local View используется совместно с DataBases или можно без включения, и изменения структуры таблиц (файлы dbf используются еще в старых fox программах) использовать Local View для выборки данных ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 10:40 |
|
||
|
Опять про SET FILTER TO
|
|||
|---|---|---|---|
|
#18+
=Sergey==насколько я знаю Local View используется совместно с DataBases или можно без включения, и изменения структуры таблиц (файлы dbf используются еще в старых fox программах) использовать Local View для выборки данных ?? Описание Local View физически хранится в контейнере базы данных (файл DBC). Но, поскольку, по сути, Local View - это просто Select-SQL + некая "обертка", то в качестве источника данных для Local View можно указать и свободные таблицы (не включенные в DBC). В том числе и созданные в младших версиях FoxPro. Т.е. вместе с EXE надо будет сделать и DBC, но включать в него свободные таблицы не обязательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 11:18 |
|
||
|
Опять про SET FILTER TO
|
|||
|---|---|---|---|
|
#18+
Т.е. вместе с EXE надо будет сделать и DBC Даже это не обязательно - DBC для хранения можно создавать по мере необходимости прямо в процессе выполнения и убивать их как только в них пропадет надобность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 13:46 |
|
||
|
Опять про SET FILTER TO
|
|||
|---|---|---|---|
|
#18+
а тогда разъясните мне пожалуйста, в чем тогда преимущество Local View перед обычным курсором, в том что сохраняется связь с исходными данными допустим изменение данным в Local View влечет автоматическое изменение в основом (исходном) наборе записей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 08:42 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34237137&tid=1589797]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 313ms |

| 0 / 0 |
