|
|
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
Доброе время суток, коллеги! Нужно сделать функционал инкрементального поиска. В стандартное поведение incrementalsearch такое-вводишь буквы, найдутся те записи которые начинаются с набранных букв. А нужно отобрать и показать те записи, в которых встречаются набранные буквы . например : Набираем "abc", 1. abc defg 2.assdasda abc 3.bla bla abc bla и т.д. Как это осуществить? Delphi 2010, devexpress 13.2 Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 06:10 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
muzaManDelphi 2010, devexpress 13.2 Мажорно обновиться до 14.2, где уже есть FindPanel... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 07:14 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
Применить 9232122 к TableView.DataController. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 07:46 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
Зависит от исходных данных и контролов. У трилиста -- свой подход (через сокрытие нодов), у грида -- тоже свой (через добавление фильтров). Даже у комбобокса -- свой (через внутренний грид и фильтр). Если трилист/грид/контрол работает через датасет, т.е. что-то грузит из базы -- то можно прямо у него сделать фильтрацию в dataset.Filter (ставим поле для поиска, самовключающийся таймер на пол секунды при нажатии любой кнопки в поле, и активация фильтра в этом таймере). Думаю, идеи понятны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 08:31 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
JaDiУ трилиста -- свой подход (через сокрытие нодов)ЭЭ, а как вообще фильтровать дерево? Прятать все кроме найденного и их предков? И если предполагается только выбор нижнего уровня, то и фильтровать тоже только его? Или показывать и все поддеревья найденного тоже? Для последнего галочку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 08:56 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
Shr, Тут уже от задачи будет зависеть. Например, у меня есть универсальный справочник-дерево с фильтром/поиском/подсветкой родителей и детей. Там, если нашлось что-то в какой-то ветке -- то показывается структура всей этой ветка с сохранением родителей. Основной принцип -- сначала рассчитываем видимость нодов с учетом родителей/детей и поиска, а потом лишние ноды скрываем. Но вряд ли автору нужно так заморачиваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 09:05 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
Мне оно в общем виде интересно, как сделать чтобы большую часть потребностей за раз закрыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 09:06 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
Shr, Вот пример универсального справочника для выбора, которым пользуюсь. На входе -- линейный список папок и записей с ID, ParentID, сортировкой (при необходимости), наименованием и текстом для поиска. На выходе всегда список выбранных ID записей (без папок). Вся работа по расстановке галочек ложится на трилист, а на нас -- отрисовка и поиск/фильтрация. Можно сделать как в виде дерева, так и в виде простого списка -- так же можно включить/отключить множественный выбор/галочки. Вот тут на скриншоте как раз видно, что для показа найденной записи вся ее родительская структура остается и не скрывается: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 09:22 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
С виду должно хватить двух галочек: - искать только на нижнем уровне - показывать поддерево найденного Скриншот работает с комбинацией true, false. А, например, поиск в виндовом exporer - как false,true. Родители найденного показываются всегда. Вроде бы пойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 09:31 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
Shr, Есть еще костыль в виде дополнительной колонки разного типа (через девовский Properties), в которой можно что-то показывать или даже вводить, например, кол-во или цену -- чтобы на выходе вместе с ID еще и введенные значения сразу выбирались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 09:32 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
JaDiShr, Вот пример универсального справочника для выбора, которым пользуюсь. На входе -- линейный список папок и записей с ID, ParentID, сортировкой (при необходимости), наименованием и текстом для поиска. На выходе всегда список выбранных ID записей (без папок). Вся работа по расстановке галочек ложится на трилист, а на нас -- отрисовка и поиск/фильтрация. Можно сделать как в виде дерева, так и в виде простого списка -- так же можно включить/отключить множественный выбор/галочки. Вот тут на скриншоте как раз видно, что для показа найденной записи вся ее родительская структура остается и не скрывается: а почему выбрано две записи, а написано - три ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 09:47 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
defecator, Так и должно быть -- ранее выбранная запись просто скрылась из списка при новом поиске. Сделано специально для удобства. Т.е. вводим в поиске одно -- выбираем; потом вводим другое -- еще раз выбираем. И так до тех пор, пока не сделаем все, что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 10:01 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
JaDidefecator, Так и должно быть -- ранее выбранная запись просто скрылась из списка при новом поиске. Сделано специально для удобства. Т.е. вводим в поиске одно -- выбираем; потом вводим другое -- еще раз выбираем. И так до тех пор, пока не сделаем все, что нужно. то есть чтобы отменить ранее выбранное, надо снова фильтровать ? офигительно удобно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 10:11 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
defecator, Достаточно нажать на крестик и снять фильтр, чтобы отобразить все записи, в т.ч. и выбранные (сами выбранные записи можно увидеть в подсказке, если навести курсор на количество). А вообще, идея интересная -- всегда показывать выбранные записи, даже если они и не подпадают под поиск/фильтр. Сейчас поэкспериментировал -- оказалось не очень удобно, когда уже выбрано несколько записей и надо еще что-то найти -- ветки с ранее выбранными записями занимают место и мешают визуально найти нужные из поиска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 10:23 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
JaDidefecator, Достаточно нажать на крестик и снять фильтр, чтобы отобразить все записи, в т.ч. и выбранные (сами выбранные записи можно увидеть в подсказке, если навести курсор на количество). А вообще, идея интересная -- всегда показывать выбранные записи, даже если они и не подпадают под поиск/фильтр. Сейчас поэкспериментировал -- оказалось не очень удобно, когда уже выбрано несколько записей и надо еще что-то найти -- ветки с ранее выбранными записями занимают место и мешают визуально найти нужные из поиска. 1. сделай отдельную вкладку в своём окне - отображение только выбранных. 2. сделай шрифт поменьше и/или окно побольше, чтобы помещалось больше записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 10:33 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
плюс вывод только выбранных в отдельную вкладку поможет усеру проверить, то ли он выбрал, до момента нажатия кнопки OK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 10:34 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
PageControl, например, как-то так: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2016, 10:37 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
Ищу способ, как организовать инкрементный поиск по данным в master и detail таблицах с компонентом от devexpress! JaDi, вижу у тебя это реализовано, можешь поделиться как ты сделал? Свой компонент написал (на основе сделал) или каким-то макаром FindPanel доработал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 09:44 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
В более менее новых версиях cxGrid уже года два, наверное, есть даже встроенный удобный поиск, а инкрементальный поиск есть уже очень-очень давно. Зачем изобретать велосипед? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 10:00 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
X11В более менее новых версиях cxGrid уже года два, наверное, есть даже встроенный удобный поиск, а инкрементальный поиск есть уже очень-очень давно. Зачем изобретать велосипед? Может, Delphi старые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 10:14 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
X11инкрементальный поиск есть уже очень-очень давно Даже для старых версий Delphi есть инкрементальный поиск у cxGrid Dev. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 10:15 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
X11X11инкрементальный поиск есть уже очень-очень давно Даже для старых версий Delphi есть инкрементальный поиск у cxGrid Dev. В какой версии DevEx он появился, не помнишь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 10:18 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
чччДX11пропущено... Даже для старых версий Delphi есть инкрементальный поиск у cxGrid Dev. В какой версии DevEx он появился, не помнишь? он был даже в древнем dxDBGrid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 10:21 |
|
||
|
Incremental search devexpress
|
|||
|---|---|---|---|
|
#18+
defecatorчччДпропущено... В какой версии DevEx он появился, не помнишь? он был даже в древнем dxDBGrid Про dx ничего не знаю, в cx - не было. Поиск "on-the-fly" был по типу "StartsWith". По типу "Contains" не было точно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 10:38 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39230600&tid=2041282]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 518ms |

| 0 / 0 |
