![]() |
#8 |
Участник
|
Может это не ваша ситуация
На форме используется один буфер для поиска по AutoSearch. Этот буфер сбрасывается при нажатии на управляющие кнопки или при смене фокуса контрола, по которому идет поиск. Если же выбирать закладки при помощи мыши, то этот буфер не сбрасывается и при попытке начать поиск в новом датасоурсе на самом деле ищется не вновь набираемый текст, а добавляется к уже записанному в буфере. Обойти этот эффект можно нажатием на управляющие кнопки (стрелки) или переключением с помощью CTRL+TAB. Можно так же программным способом при помощи WinApi. Вот пример для этой формы X++: void tabChanged(int _from, int _to) { #define.EM_SETSEL(0x00B1) #define.VK_RIGHT(39) #winapi ; super(_from, _to); switch (_to) { case 1: element.selectMode(element.control(Control::tmpLedgerTable_AccountNum)); winapi::sendMessageEx(element.control(Control::tmpLedgerTable_AccountNum).hWnd(), #WM_KEYDOWN, #VK_RIGHT, 0); winapi::sendMessageEx(element.control(Control::tmpLedgerTable_AccountNum).hWnd(), #EM_SETSEL, 0, -1); break; case 2: element.selectMode(element.control(Control::LedgerTableAccountType_AccountNum)); winapi::sendMessageEx(element.control(Control::LedgerTableAccountType_AccountNum).hWnd(), #WM_KEYDOWN, #VK_RIGHT, 0); winapi::sendMessageEx(element.control(Control::LedgerTableAccountType_AccountNum).hWnd(), #EM_SETSEL, 0, -1); break; } }
__________________
Axapta v.3.0 sp5 kr2 |
|