|
InGrid
|
|||
---|---|---|---|
#18+
Помоготе плиз! Использую для инкрементного поиска по гриду класс InGrid, прост в использовании. Но все было ок!, когда записей в таблице было 10-15 тыс, сейчас их 22 тыс. и поиск стал тормозить. Подскажите как можно модифицировать этот класс, что-бы ускорить поиск. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 17:33 |
|
InGrid
|
|||
---|---|---|---|
#18+
Глянул мельком. Мне кажетсяв этой модификации класса отключен поиск по индексу (SEEK). По индексу поиск должен быть значительно быстрее. Попробуйте прикрутить SEEK, оригинальный класс лежал в решениях на Foxclub'е. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.07.2009, 22:31 |
|
InGrid
|
|||
---|---|---|---|
#18+
DagГлянул мельком. Мне кажетсяв этой модификации класса отключен поиск по индексу (SEEK). По индексу поиск должен быть значительно быстрее. Попробуйте прикрутить SEEK, оригинальный класс лежал в решениях на Foxclub'е. Seek в этом класе не используеться, это я сам пытался, но не знаю как заменить LOCATE cSearchFor $ cSearchIn на SEEK. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2009, 09:56 |
|
InGrid
|
|||
---|---|---|---|
#18+
Выдрал из работающего приложения. Попробуй разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2009, 10:32 |
|
InGrid
|
|||
---|---|---|---|
#18+
В базовых классах нет ничего интересного. Просто копия с фокспрошных. Сбрасываю программный код. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2009, 11:19 |
|
InGrid
|
|||
---|---|---|---|
#18+
Dag, Все хорошо, но если есть поле ОАО "ЕКЛМН" и я не помню ОАО, ООО, ЗАО, ЧП, я набираю просто ЕКЛМН, поиск уже не производиться, и это есть не хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2009, 12:22 |
|
InGrid
|
|||
---|---|---|---|
#18+
Да, есть такой недостаток. В этих случаях у меня есть колонка краткого наименования - ЕКЛМН ОАО. Если нужен поиск с произвольного места - то теряем скорость. Нет совершенства в этом мире. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2009, 15:02 |
|
InGrid
|
|||
---|---|---|---|
#18+
Нашел в нете для VB такую вещь, помогите пожалуйста переделать под фокс для грида авторСовет 59. Быстрый поиск строки в Combo Box Для быстрого поиска нужной строки в списке, в частности в элементе управления Combo Box, можно использовать функцию API SendMessage() (вариант для 16-разрядных приложений), обеспечивающую более эффективное выполнение программы, чем аналогичный код на VB. Для этого можно, например, прибегнуть к процедуре CBFindString: Declare Function SendMessage Lib "User" _ (ByVal hWnd As Integer, ByVal wMsg As Integer, _ ByVal wParam As Integer, lParam As Any) As Long Sub CBFindString(ctlEdit As Control, sSearch As String) Dim lPos As Long Const CB_FINDSTRING = &H40C lPos = SendMessage(ctlEdit.hWnd, CB_FINDSTRING, 0, ByVal sSearch) If lPos >=0 Then ctlEdit.ListIndex = lPos End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 10:42 |
|
InGrid
|
|||
---|---|---|---|
#18+
RickitikiНашел в нете для VB такую вещь, помогите пожалуйста переделать под фокс для гридаЕрундой занимаетесь. Хотите прикрутить собаке пятую ногу. В фоксе в контролах не надо ничего искать. Искать надо в данных, то есть в таблицах/курсорах. Тем более, что контролы в фоксе совершенно не виндовые и им невозможно послать сообщение. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 11:01 |
|
InGrid
|
|||
---|---|---|---|
#18+
Sergey Sizov., Спасибо. просто не знаю как выбраться с ситуации. Может ищу не в том направлении. Задача: Есть таблица заказчиков (порядка 20 тис. записей), находиться она на сервере. Если человек работает на сервере то никаких проблем, но есть еще 5 рабочих мест, и вот на этих рабочих местах поиск тормозит. Думал сначала создавать локальную копию таблицы, но проблема в обновлении таблицы (редактирование, удаление и добавление записей). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 11:20 |
|
InGrid
|
|||
---|---|---|---|
#18+
авторно проблема в обновлении таблицы (редактирование, удаление и добавление записей). смотрим в сторону курсорадаптера и построителя условий запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 11:36 |
|
InGrid
|
|||
---|---|---|---|
#18+
прошелмимо, создал КАД, запустил, все хорошо, запустил на второй машине - отлично. на первой машине меняю значения. На второй машине, значения старые, хотя таблица обновилась. Че делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 13:23 |
|
InGrid
|
|||
---|---|---|---|
#18+
Rickitikiпрошелмимо, создал КАД, запустил, все хорошо, запустил на второй машине - отлично. на первой машине меняю значения. На второй машине, значения старые, хотя таблица обновилась. Че делать?Обновлять второй машине. Если, конечно, второй машине нужны свежайшие данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 13:30 |
|
InGrid
|
|||
---|---|---|---|
#18+
проходящий., как узнать когда обновлять, через час, 2, минуту, секунды? постоянно тоже не хочется. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 13:36 |
|
InGrid
|
|||
---|---|---|---|
#18+
Rickitikiпроходящий., как узнать когда обновлять, через час, 2, минуту, секунды? постоянно тоже не хочется.А этот вопрос должен решаться на стадии проектирования как часть проблемы синхронизации работы многих пользователей при заданном бизнесом времени свежести данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 13:40 |
|
InGrid
|
|||
---|---|---|---|
#18+
1 машина заносит клиента, вторая ищет такого клиента-его нет, и начинает заносить второй раз того же клиента, таблица выростет в десятки раз (дубляжи). как дать програмно понять что исходная таблица изменилась и сделать апдейт. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 13:41 |
|
InGrid
|
|||
---|---|---|---|
#18+
проходящий.Rickitikiпроходящий., как узнать когда обновлять, через час, 2, минуту, секунды? постоянно тоже не хочется.А этот вопрос должен решаться на стадии проектирования как часть проблемы синхронизации работы многих пользователей при заданном бизнесом времени свежести данных. Данные могут изменяться каждую минуту, а на второй день - ни разу (может не изменяться месяцами), все зависит от клиентов, новый, старый. Может есть че почитать по этому поводу? Или дельный совет. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 13:44 |
|
InGrid
|
|||
---|---|---|---|
#18+
авторЧе делать? авторкак дать програмно понять что если второй сидит до тех пор пока уже кто-то внес данные, то при попытке сохранить изменения ему нужно покричать, что пока он сидел - данные уже обновлены другим пользователем и спросить что нужно сделать, то-ли откатиться до изменений другого пользователя, то-ли заменить данные внессенные им значениями ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 14:30 |
|
InGrid
|
|||
---|---|---|---|
#18+
авторкак узнать когда обновлять определенным образом организовать хранение данных, либо пользоваться серверами, которые имеют интегрированные в них средства проверки версионности(актуальности) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 14:33 |
|
InGrid
|
|||
---|---|---|---|
#18+
прошелмимо, кричать с одного этажа на другой, проблема ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 14:38 |
|
InGrid
|
|||
---|---|---|---|
#18+
>>Rickitiki кричать с одного этажа на другой, проблема Жгешь напалмом! Кричать нужно через программу. Например завести таблицу, в которой выставлять флаги об необходимости обновления для параллельных компов и проверяить ее по таймеру-при необходимости обновляться. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2009, 15:15 |
|
|
start [/forum/topic.php?fid=41&fpage=122&tid=1586247]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 170ms |
0 / 0 |