Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 TcxLookupCombobox - фантомная запись  [new]
Соколинский Борис
Member

Откуда: Москва
Сообщений: 8582
Имеется TcxLookupCombobox, работающий в режиме lsEditList + IncrementalFiltering. В lookup dataset-е записей может быть много.
Пользователь набирает текст, попутно выясняя, имеется ли уже такая запись, если нет нажимает кнопку "Добавить", при этом новая запись
вносится и т.д.
На этом этапе, чтобы она появилась в списке достаточно добавление завернуть в dataset.DisableControls/dataset.EnableControls.
Позже пользователь может вернутся к записям из "основного" списка, при этом новую нужно удалить.
И вот тут возникает фигня - предыдущий метод не работает, и запись из списка не удаляется. При попытке ее выбрать ожидаемый "Record not found".
Причем, что любопытно, эффект есть только на первой, последующие добавления/удаления работают корректно.
Есть идеи, как это побороть?
29 окт 18, 14:39    [21718033]     Ответить | Цитировать Сообщить модератору
 Re: TcxLookupCombobox - фантомная запись  [new]
ma1tus
Member

Откуда:
Сообщений: 581
Соколинский Борис
Позже пользователь может вернутся к записям из "основного" списка
когда новые записи уже не нужны, перезагружать в лист весь основной список - отключить/подключить datasource?
29 окт 18, 15:49    [21718145]     Ответить | Цитировать Сообщить модератору
 Re: TcxLookupCombobox - фантомная запись  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 1933
Соколинский Борис
Имеется TcxLookupCombobox, работающий в режиме lsEditList + IncrementalFiltering. В lookup dataset-е записей может быть много.
Пользователь набирает текст, попутно выясняя, имеется ли уже такая запись, если нет нажимает кнопку "Добавить", при этом новая запись
вносится и т.д.
На этом этапе, чтобы она появилась в списке достаточно добавление завернуть в dataset.DisableControls/dataset.EnableControls.
Позже пользователь может вернутся к записям из "основного" списка, при этом новую нужно удалить.
И вот тут возникает фигня - предыдущий метод не работает, и запись из списка не удаляется. При попытке ее выбрать ожидаемый "Record not found".
Причем, что любопытно, эффект есть только на первой, последующие добавления/удаления работают корректно.
Есть идеи, как это побороть?
Если честно - нифига не понял. В чём конкретно баг? Или чего хочешь добиться? Перечитки листа? Напиши и отошли воспроизводимый пример - рассмотрим.
29 окт 18, 16:03    [21718160]     Ответить | Цитировать Сообщить модератору
 Re: TcxLookupCombobox - фантомная запись  [new]
Соколинский Борис
Member

Откуда: Москва
Сообщений: 8582
ma1tus
Соколинский Борис
Позже пользователь может вернутся к записям из "основного" списка
когда новые записи уже не нужны, перезагружать в лист весь основной список - отключить/подключить datasource?
Я так пробовал, еще раз перепроверил - список вообще пустой становится.
29 окт 18, 16:09    [21718164]     Ответить | Цитировать Сообщить модератору
 Re: TcxLookupCombobox - фантомная запись  [new]
Соколинский Борис
Member

Откуда: Москва
Сообщений: 8582
white_nigger
Если честно - нифига не понял. В чём конкретно баг? Или чего хочешь добиться? Перечитки листа? Напиши и отошли воспроизводимый пример - рассмотрим.
Ну, может кто-то уже сталкивался с подобным и знает, что делать.
Если нет - сделаю пример.
29 окт 18, 16:11    [21718165]     Ответить | Цитировать Сообщить модератору
 Re: TcxLookupCombobox - фантомная запись  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3862
white_nigger,

речь о том, что в дбкомбобокс динамически добавляется новая запись корректно, но вот удалить эту добавленную запись потом не получается у автора (остается что-то левое, что все еще можно выбрать).
29 окт 18, 16:16    [21718172]     Ответить | Цитировать Сообщить модератору
 Re: TcxLookupCombobox - фантомная запись  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 1933
JaDi
речь о том, что в дбкомбобокс динамически добавляется новая запись корректно, но вот удалить эту добавленную запись потом не получается у автора (остается что-то левое, что все еще можно выбрать).
А в какой момент её удаляют и как? Как добавляют? Всё же лучше пример сделать...
29 окт 18, 18:31    [21718294]     Ответить | Цитировать Сообщить модератору
 Re: TcxLookupCombobox - фантомная запись  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12484
Соколинский Борис
На этом этапе, чтобы она появилась в списке достаточно добавление завернуть в dataset.DisableControls/dataset.EnableControls.
Позже пользователь может вернутся к записям из "основного" списка, при этом новую нужно удалить.


Добавление - переоткрытие НД.
Удаление - переоткрытие НД.

Всё.
Непонятно ничего про основной список.
Список привязан к НД и он один единственный.
30 окт 18, 13:48    [21718935]     Ответить | Цитировать Сообщить модератору
 Re: TcxLookupCombobox - фантомная запись  [new]
Соколинский Борис
Member

Откуда: Москва
Сообщений: 8582
X11
Добавление - переоткрытие НД.
Удаление - переоткрытие НД.

Ну это же бред какой-то. А если НД в памяти?

В общем, косяк оказался связанным с использованием AnyDAC-пакетов, без них все нормально.
То ли сборка кривая, то ли ресурс-локализатор где-то пакостит, пока не разобрался.
5 ноя 18, 17:59    [21724411]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить