Bug Report T301466
Visible to All Users

ASPxTokenBox - Some characters are removed when typing using Unikey software

created 9 years ago

Hi!
   I'm from Vietnam. I'm using Vietnamese Keyboard software called Unikey to type Vietnamese Language. I'm using your control ASPxTokenBox . Your Control operate properly when I type english language but when I type vietnamese language, it seems to be wrong. Control's editor auto remove character when I typing. Investigate more, I reliaze some points:
          1. I'm still type Vietnamese properly with ASPxTextbox, ASPxGridLookup
          2. I'm still type Vietnamese properly with ASPxTokenBox with empty Items or empty Datasource
          3. After creating 3 items for ASPxTokenBox ("hello 1","hello 2", "hello 3") in code and run project. I cannot input the text: Lô in ASPxTokenBox (To input Lô in Vietnamese, I've to type L o o) because your control auto delete L character. But, I still can input the text: Cô, Tô, Bô… properly.
          4. If I create 3 items for ASPxTokenBox ("hecco 1","hecco 2", "hecco 3") in code and run project, I cannot input the text: Cô in ASPxTokenBox (To input Cô in Vietnamese, I've to type c o o) because your control auto delete C character. But, I still can input the text: Lô, Tô, Bô… properly.
          5. In the case 3, if I type slowly L     o     o, everything is ok. I can input Lô in ASPxTokenBox. If I type L o very fast and slowly after that, I type o again (L o      o), everything is ok. I can input Lô too. But if I type L and slowly after that, I type very fast o o (L          o o), the control auto delete the L character
          6. The same problem if I use  ASPxCombobox

Show previous comments (5)
DevExpress Support Team 9 years ago

    Hello,

    Thank you for the clarification. We've confirmed that this is incorrect behavior of our controls. We are working on this issue and will notify you as soon as we get results.
    As a workaround, you can turn off the incremental filtering by setting the ASPxTokenBox.IncrementalFilteringMode property to "None".

      I've tried your hotfix. Firstly, I tried to type c o o, l o o as I said above. Your control works properly in all speeds I type. I tried different ways of typing (c     o  o, c  o     o…), the controls work perfectly. But at the time I am going to finish this test, I found out your controls work wrong again when I type c       o        o. When I type slowly c    o    o, I got ô, the c character disappear. I repeat that typing and I realize that when I type c     o, your control find out there are not co object in the database and it remove the o character. At that time, the screen display c character only. After that, I type o again, the c character disappear and the screen display ô character only. At this stage, I think your control does not remove c character. c character was removed by my Unikey because Unikey think the character o is still on the screeen, so Unikey replace o by ô. That's why I got ô after I type c     o    o.
        After that fail, I've tried many other words and I realize the error is even worse than before updating hotfix. For example my database has some words like: đồng, nhôm… Your control only works properly if I type very fast. If I type little bit slower, I got mess of character. I think auto-remove-character-when-not-found way is not compatible with the Unikey or other Vietnamese keyboards. Is there any way to turn off this functionality?
        PS: You can reproduce this error by using Unikey or other Vietnamese keyboards (Vietkey, GoTiengViet…). To get ô, you type o o. To get ồ, you type o o f. To type đ, you type d d. So to type đồng you have 2 ways: d d o o n g f, or, d d o o f n g.

      DevExpress Support Team 9 years ago

        Hello,

        Thank you for your feedback. There was certainly a bug in our controls that consisted in that symbols were deleted in some input elements. Now we've fixed this issue and the behavior of ASPxTokenBox with the DropDown mode enabled and the AllowCustomTokens property set to false is correct. In this mode, Unikey doesn't know that ASPxTokenBox changes contents of an input. Thus, the logic that deletes the characters gets broken, and you get the behavior you had previously.

        You can use the following workarounds in order to prevent ASPxTokenBox and ASPxComboBox from behaving incorrectly:

        1. Use ASPxComboBox' DropDown mode and set AllowCustomTokens == true in ASPxTokenBox.
          2. Increase IncrementalFilteringDelay up to 3 seconds, so that your users can enter required values in time.

        Regards,
        Pavlo

        Answers approved by DevExpress Support

        created 9 years ago

        We have fixed the issue described in this ticket and will include the fix in our next maintenance update. To apply this solution before the official update, request a hotfix by clicking the corresponding link for product versions you require.

        Note: Hotfixes may be unavailable for beta versions and updates that are about to be released.

          Comments (2)

            I think that because Unikey don't know that aspxtextboxaspxtextbox changes content of input (of course, unikey cannot know this thing and it's not been designed to know), so unikey will act as it will do as usual. It will remove  o o ( 2 o) and replace by ô. Of course, there will be conficts between Aspxtextbox and Unikey. I've already try your 15.1 hotfix. After install hotfix, i've tried as i said on my last comment. I've seen the bug even got worse., no matter what I set AllowCustomTokens = true or false

            DevExpress Support Team 9 years ago

              Hello,
              We've tried to reproduce the issue according to the provided description, but our attempt was not successful. Note that some specifics of this third-party software and results at each step are not obvious and require detailed clarification. So, in order to provide you with a precise solution that will fix the issue, I am asking you to provide the following extra information:

              1. A sample project with 2 ASPxTokenBox. One project with AllowCustomTokens = true, and the other with the false property value.
              2. A screencast of your actions and a description to this screencast.

              Your cooperation is appreciated.

              Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

              Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.