Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Incremental search devexpress / 25 сообщений из 28, страница 1 из 2
06.05.2016, 06:10
    #39230466
muzaMan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
Доброе время суток, коллеги!

Нужно сделать функционал инкрементального поиска. В стандартное поведение incrementalsearch такое-вводишь буквы, найдутся те записи которые начинаются с набранных букв. А нужно отобрать и показать те записи, в которых встречаются набранные буквы .
например : Набираем "abc",
1. abc defg
2.assdasda abc
3.bla bla abc bla
и т.д.

Как это осуществить?

Delphi 2010, devexpress 13.2

Спасибо!
...
Рейтинг: 0 / 0
06.05.2016, 07:14
    #39230478
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
muzaManDelphi 2010, devexpress 13.2
Мажорно обновиться до 14.2, где уже есть FindPanel...
...
Рейтинг: 0 / 0
06.05.2016, 07:46
    #39230486
Shr
Shr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
Применить 9232122 к TableView.DataController.
...
Рейтинг: 0 / 0
06.05.2016, 08:31
    #39230496
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
Зависит от исходных данных и контролов. У трилиста -- свой подход (через сокрытие нодов), у грида -- тоже свой (через добавление фильтров). Даже у комбобокса -- свой (через внутренний грид и фильтр). Если трилист/грид/контрол работает через датасет, т.е. что-то грузит из базы -- то можно прямо у него сделать фильтрацию в dataset.Filter (ставим поле для поиска, самовключающийся таймер на пол секунды при нажатии любой кнопки в поле, и активация фильтра в этом таймере). Думаю, идеи понятны.
...
Рейтинг: 0 / 0
06.05.2016, 08:56
    #39230505
Shr
Shr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
JaDiУ трилиста -- свой подход (через сокрытие нодов)ЭЭ, а как вообще фильтровать дерево? Прятать все кроме найденного и их предков? И если предполагается только выбор нижнего уровня, то и фильтровать тоже только его? Или показывать и все поддеревья найденного тоже? Для последнего галочку?
...
Рейтинг: 0 / 0
06.05.2016, 09:05
    #39230516
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
Shr,

Тут уже от задачи будет зависеть. Например, у меня есть универсальный справочник-дерево с фильтром/поиском/подсветкой родителей и детей. Там, если нашлось что-то в какой-то ветке -- то показывается структура всей этой ветка с сохранением родителей. Основной принцип -- сначала рассчитываем видимость нодов с учетом родителей/детей и поиска, а потом лишние ноды скрываем.

Но вряд ли автору нужно так заморачиваться.
...
Рейтинг: 0 / 0
06.05.2016, 09:06
    #39230517
Shr
Shr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
Мне оно в общем виде интересно, как сделать чтобы большую часть потребностей за раз закрыть.
...
Рейтинг: 0 / 0
06.05.2016, 09:22
    #39230526
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
Shr,

Вот пример универсального справочника для выбора, которым пользуюсь. На входе -- линейный список папок и записей с ID, ParentID, сортировкой (при необходимости), наименованием и текстом для поиска. На выходе всегда список выбранных ID записей (без папок). Вся работа по расстановке галочек ложится на трилист, а на нас -- отрисовка и поиск/фильтрация. Можно сделать как в виде дерева, так и в виде простого списка -- так же можно включить/отключить множественный выбор/галочки.

Вот тут на скриншоте как раз видно, что для показа найденной записи вся ее родительская структура остается и не скрывается:

...
Рейтинг: 0 / 0
06.05.2016, 09:31
    #39230529
Shr
Shr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
С виду должно хватить двух галочек:
- искать только на нижнем уровне
- показывать поддерево найденного

Скриншот работает с комбинацией true, false. А, например, поиск в виндовом exporer - как false,true.
Родители найденного показываются всегда. Вроде бы пойдет.
...
Рейтинг: 0 / 0
06.05.2016, 09:32
    #39230531
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
Shr,

Есть еще костыль в виде дополнительной колонки разного типа (через девовский Properties), в которой можно что-то показывать или даже вводить, например, кол-во или цену -- чтобы на выходе вместе с ID еще и введенные значения сразу выбирались.

...
Рейтинг: 0 / 0
06.05.2016, 09:47
    #39230547
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
JaDiShr,

Вот пример универсального справочника для выбора, которым пользуюсь. На входе -- линейный список папок и записей с ID, ParentID, сортировкой (при необходимости), наименованием и текстом для поиска. На выходе всегда список выбранных ID записей (без папок). Вся работа по расстановке галочек ложится на трилист, а на нас -- отрисовка и поиск/фильтрация. Можно сделать как в виде дерева, так и в виде простого списка -- так же можно включить/отключить множественный выбор/галочки.

Вот тут на скриншоте как раз видно, что для показа найденной записи вся ее родительская структура остается и не скрывается:


а почему выбрано две записи, а написано - три ?
...
Рейтинг: 0 / 0
06.05.2016, 10:01
    #39230566
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
defecator,

Так и должно быть -- ранее выбранная запись просто скрылась из списка при новом поиске. Сделано специально для удобства. Т.е. вводим в поиске одно -- выбираем; потом вводим другое -- еще раз выбираем. И так до тех пор, пока не сделаем все, что нужно.
...
Рейтинг: 0 / 0
06.05.2016, 10:11
    #39230575
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
JaDidefecator,

Так и должно быть -- ранее выбранная запись просто скрылась из списка при новом поиске. Сделано специально для удобства. Т.е. вводим в поиске одно -- выбираем; потом вводим другое -- еще раз выбираем. И так до тех пор, пока не сделаем все, что нужно.

то есть чтобы отменить ранее выбранное, надо снова фильтровать ?
офигительно удобно
...
Рейтинг: 0 / 0
06.05.2016, 10:23
    #39230588
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
defecator,

Достаточно нажать на крестик и снять фильтр, чтобы отобразить все записи, в т.ч. и выбранные (сами выбранные записи можно увидеть в подсказке, если навести курсор на количество).

А вообще, идея интересная -- всегда показывать выбранные записи, даже если они и не подпадают под поиск/фильтр. Сейчас поэкспериментировал -- оказалось не очень удобно, когда уже выбрано несколько записей и надо еще что-то найти -- ветки с ранее выбранными записями занимают место и мешают визуально найти нужные из поиска.
...
Рейтинг: 0 / 0
06.05.2016, 10:33
    #39230593
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
JaDidefecator,

Достаточно нажать на крестик и снять фильтр, чтобы отобразить все записи, в т.ч. и выбранные (сами выбранные записи можно увидеть в подсказке, если навести курсор на количество).

А вообще, идея интересная -- всегда показывать выбранные записи, даже если они и не подпадают под поиск/фильтр. Сейчас поэкспериментировал -- оказалось не очень удобно, когда уже выбрано несколько записей и надо еще что-то найти -- ветки с ранее выбранными записями занимают место и мешают визуально найти нужные из поиска.

1. сделай отдельную вкладку в своём окне - отображение только выбранных.
2. сделай шрифт поменьше и/или окно побольше, чтобы помещалось больше записей.
...
Рейтинг: 0 / 0
06.05.2016, 10:34
    #39230594
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
плюс вывод только выбранных в отдельную вкладку поможет усеру проверить, то ли он выбрал, до момента нажатия кнопки OK
...
Рейтинг: 0 / 0
06.05.2016, 10:37
    #39230600
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
PageControl, например, как-то так:
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
01.02.2018, 09:44
    #39594626
FOGOT-BAstA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
Ищу способ, как организовать инкрементный поиск по данным в master и detail таблицах с компонентом от devexpress!
JaDi, вижу у тебя это реализовано, можешь поделиться как ты сделал? Свой компонент написал (на основе сделал) или каким-то макаром FindPanel доработал?
...
Рейтинг: 0 / 0
01.02.2018, 10:00
    #39594648
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
В более менее новых версиях cxGrid уже года два, наверное, есть даже встроенный удобный поиск, а инкрементальный поиск есть уже очень-очень давно. Зачем изобретать велосипед?
...
Рейтинг: 0 / 0
01.02.2018, 10:14
    #39594665
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
X11В более менее новых версиях cxGrid уже года два, наверное, есть даже встроенный удобный поиск, а инкрементальный поиск есть уже очень-очень давно. Зачем изобретать велосипед?

Может, Delphi старые.
...
Рейтинг: 0 / 0
01.02.2018, 10:15
    #39594669
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
X11инкрементальный поиск есть уже очень-очень давно
Даже для старых версий Delphi есть инкрементальный поиск у cxGrid Dev.
...
Рейтинг: 0 / 0
01.02.2018, 10:18
    #39594673
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
X11X11инкрементальный поиск есть уже очень-очень давно
Даже для старых версий Delphi есть инкрементальный поиск у cxGrid Dev.
В какой версии DevEx он появился, не помнишь?
...
Рейтинг: 0 / 0
01.02.2018, 10:21
    #39594677
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
чччДX11пропущено...

Даже для старых версий Delphi есть инкрементальный поиск у cxGrid Dev.
В какой версии DevEx он появился, не помнишь?
он был даже в древнем dxDBGrid
...
Рейтинг: 0 / 0
01.02.2018, 10:38
    #39594704
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
defecatorчччДпропущено...

В какой версии DevEx он появился, не помнишь?
он был даже в древнем dxDBGrid

Про dx ничего не знаю, в cx - не было.

Поиск "on-the-fly" был по типу "StartsWith". По типу "Contains" не было точно.
...
Рейтинг: 0 / 0
01.02.2018, 10:46
    #39594717
FOGOT-BAstA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Incremental search devexpress
Поиск инкрементный есть, но он только по конкретной вьюхе. Мне надо по всем master-detail данным
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Incremental search devexpress / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]