Вниз
Скачать: CL | DM;

Компоненты для работы с клиент-серверными базами данных   Найти похожие ветки 

 
maratvg   (2004-02-19 12:47) [0]

Хочу узнать кто какими визуальными компонентами, аналогами TDBLookupCombobox, пользуется.
Интересует такая возможность компоненты: в выпадающем списке начинаем что-то искать (по первым буквам или по подстроке) и компонент не пытается вытянуть всю таблицу на клиента чтобы потом поискать через Locate, а переформировывает SQL-запрос, отправляет его серверу и отображает первые (сколько влезает в выпадающий список) записи.


 
Johnmen ©   (2004-02-19 13:05) [1]

В общем и целом. Таких компонент нету. Поскольку никому не приходило в голову максимально затормозить работу...:)
Впрочем, несложно написать самому и проверить жизнеспособность...


 
Anatoly Podgoretsky ©   (2004-02-19 13:17) [2]

A lookup тут причем?
Делай запрос только тогда когда у тебя не меньше трех букв в условии для запроса он и не будет пытаться вытянуть всю таблиц, а если делать по одной букве то будет очень много, но тоже не все.

А база данных у тебя есть?


 
maratvg   (2004-02-19 13:42) [3]

Johnmen>
а по-вашему гораздо лучше 10 тысяч записей из справочника тянуть, чтобы потом одну выбрать? Это не лезет в рамки клиент-серверной архитектуры.

Anatoly Podgoretsky>
Interbase.
Я считаю, что можно искать и по одной букве, ведь реально с сервера будет приходить максимум 10 записей (притом обычно это 1 числовое поле, одно строковое). В принципе, если пользователь - мазохист, то он может вообще не фильтровать записи, а по списку стрелкой вниз идти, но это не важно. Меня интересовало: может кто-то такое уже реализовывал, а если нет, то как из таких ситуаций можно выкрутиться?


 
Zacho ©   (2004-02-19 13:46) [4]

Гораздо лучше сделать интерфейс так, что бы пользователю и не приходило в голову выбирать все записи. Многоуровневые классификаторы там и т.п. Посмотри хотя бы на 1С.


 
Reindeer Moss Eater ©   (2004-02-19 13:49) [5]

Нормальная, кстати затея.
Если конечно не переформировывать запрос на каждое нажатие клавиши...


 
maratvg   (2004-02-19 13:59) [6]

Zacho>
Показывать полную версию справочника не всегда удобно.
Я предпочитаю такое интерфейсное решение: если LookupCombobox и рядом Label. Если пользователь лезет в комбобокс, то там справочник (пусть даже он древовидный должен быть) в линейном виде, если пользователь ткнул в Label, то вызывается полная версия справочника.

Reindeer Moss Eater> а какие идеи по переформировыванию запроса?


 
Romkin ©   (2004-02-19 14:10) [7]

У меня был случай, когда приходилось тянуть много: справичник ФИО. Ничего, это вопрос интерфейса, выглядит как закладки с буквами по алфавиту. Причем буквы - из таблицы, и триггера следят, как только на эту букву больше чем 2048 записей - делается сплит. Было, например, A, появилось Aa и Ан, например :))
Ну и поле быстрого поиска, сначала открывает вкладку, потом идет по ней.
Результат - мгновенный выбор, практически без задержек.


 
Reindeer Moss Eater ©   (2004-02-19 14:16) [8]

а какие идеи по переформировыванию запроса?

Да простые идеи.
Изначально видим грид (в который фетчится только влезаемое в него)
Ввод пользователя рисуется в инплэйс эдиторе (например в заголовке столбца).
На событие выхода из эдитора - переформирование секции WHERE и вперед, запрос на сервер.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.021 c
3-1075444031
KADAN
2004-01-30 09:27
2004.03.28
Изменение размеров NUMERIC


1-1078394264
nexxiss
2004-03-04 12:57
2004.03.28
Цвет


1-1078391606
@G
2004-03-04 12:13
2004.03.28
Bmp из DLL


1-1078776744
Гиричев Руслан
2004-03-08 23:12
2004.03.28
Горячие клавиши


11-1051970585
Olgerd
2003-05-03 18:03
2004.03.28
Замена системных модулей для Delphi 3




   Наверх