Вниз
Скачать: 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
1-1078907823
Leech
2004-03-10 11:37
2004.03.28
Columns в CheckListBox. How to USE?


6-1074427161
mihik
2004-01-18 14:59
2004.03.28
Поиск сервера в сети


3-1078157676
Subdigger
2004-03-01 19:14
2004.03.28
inplaceeditor


1-1078582643
Automatic
2004-03-06 17:17
2004.03.28
Com server в Ofice


1-1078400588
ChcngerMan
2004-03-04 14:43
2004.03.28
Internet+computer




   Наверх