AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.09.2003, 11:17   #1  
parovoz is offline
parovoz
Участник
 
18 / 12 (1) ++
Регистрация: 28.08.2003
Как отключить автозаполнение StringEdita
Добрый день (ночь/утро/вечер)

Наблюдаю уже который день неприятный эффект, и никак не могу его побороть.
На форме есть StringEdit, перекрыта обработка TextChange, в котором анализируется что ввел пользователь и делается предположение что он может ввести (поиск по таблице по началу фразы). Затем, предположительно недостающий кусок текста пишется в stringEdit и выделяется.
Проблема в том, что выделение исчезает, причем не всегда, а случайным образом.

Предполагаю, что это происходит от того, что есть штатные средства автозаполнения, которые конфликтуют с моим. Т.е. завидив текст в окне (а они видать тоже на textChange привязаны), не принимая во внимание того, что часть текста выделена, ищут в своем кеше че бы подсосать еще, и не найдя ничего нового просто сбрасывают мое выделение самым гнусным образом.
Потому и вопрос, может кто знает как отключить автозаполнение в конкретном элементе конкретной формы???

Гипотезу про автозаполнение подтверждает то, что после переименования формы неприятный зффект на время прекращается.

и еще, super в textChange уже отключал, перекрывал все методы (по очереди) в форме, элементе и даже датасорсе ставя в них выделение текста по новой - все напрасно.
Старый 16.09.2003, 11:32   #2  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Если я правильно понял, то может это:

Сервис->Параметры->Разное->Автозавершение текста ?
Старый 16.09.2003, 11:40   #3  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Автору в отдельно взятом поле нужно. По-моему, никак.
Старый 16.09.2003, 12:42   #4  
parovoz is offline
parovoz
Участник
 
18 / 12 (1) ++
Регистрация: 28.08.2003
Отключил автозавершение и окончательно убедился, что дело именно в нем. Но вот нужно действиетльно отключить на конкретное поле (или форму). Ведь есть же способ глобально его отключить (может кто знает где посмотреть как это реализовано), наверное можно и локально. Может кеш для окна вычистить, или при входе в окно выключать автозавершение, а при выходе включать (програмно, конечно).

Спасибо всем откликнувшимся.
Старый 16.09.2003, 13:48   #5  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Ок, программно отключать и включать глобально - это, может быть, выход. Тогда изучайте форму SysUserSetup. Особенно методы \Forms\SysUserSetup\Data Sources\UserInfo\Methods\autoComplete и \Forms\SysUserSetup\Methods\setSetup.
Старый 30.09.2003, 11:12   #6  
parovoz is offline
parovoz
Участник
 
18 / 12 (1) ++
Регистрация: 28.08.2003
Включать и выключать автозаполнения глобально не стал, боязно как-то. Ведь может глюкануть че нить и не включиться потом, а пользователь мучаться будет без атозавершения... И они же запуганные, пользователи, никому ничего и не скажут, будут думать что все так и надо.

Зато нашел другой способ, лучше. Оказывается, можно отключать автозаполнение не только у конкретной формы, но и у конкретного контрола! Мало того, можно даже заставить работать штатный механизм автозавершения на себя!
У класа ФормРан есть методы:
delAutoCompleteString - очищает буфер автозавершения для контрола/формы
maxNoOfAutoCompleteStrings - Задает размер буфера. Буфер заполняется при закрытии формы.
Вызываю в Ините формы первый метод без параметра, второй с нулем, и автозавершение для формы чудесным образом перестает работать.

Кроме того, ест еще методы setAutoCompleteString и getAutoCompleteString, с их помощью можно заставить работать автозавершение на себя.

А на последок, хочу задать пару простых вопросов, которые пока еще не смог победить сам.
1. Как бы обработать изменение выделения или перемещение курсора в стринг контроле пользователем? Автозавершение текста работает, а вот подтверждение автозавершения я обработать по-нормальному не могу, а нада.
2. Пытался решать предыдущую проблему в методе task, так в нем строку автозавершения видно буквально через раз. Чушь какая-то, пришлось даже завести переменную, писать в нее автозавершение, а потом читать в Таске. Может кто какую мыслю интересную подскажет.
За это сообщение автора поблагодарили: IvanS (1), Player1 (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сергей Герасимов: Как отключить функциональность суммовых разниц Blog bot DAX Blogs 16 21.11.2008 17:12
Можно ли отключить и включить аналитику? miklenew DAX: Функционал 24 30.01.2008 14:00
Как отключить возможность модификации всех форм Рустем Гизатуллин DAX: Администрирование 8 08.12.2007 05:32
Отключить отрицательный финансовый склад BlueRose DAX: Прочие вопросы 4 17.08.2006 18:46
Как отключить "Переход в главное меню" DDA DAX: Функционал 5 24.04.2003 13:45

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:28.