Bug Report Q474020
Visible to All Users

TcxDBTreeList - Moving focus using the mouse from one in-place editor to another within a newly inserted record discards value changes made to the former editor

created 12 years ago

I have a TcxDBTreeList and wish to have two insert methods. The first is using the navigator for the tree list which inserts a child node for the current node. I also need to be able to insert root level nodes. I accomplish this through an action linked to a button external to the grid that calls the linked dataset's append method (and does not assign a value to the parent field).

The Tree list has a second column and the user is expected to provide both a value for the "tree cell" and the other cell too. The key and parent fields are not displayed - they are GUIDs. The key value is populated in the OnNewRecord event of the dataset.

The issue arises when the user then interacts with a new node that was inserted via the action. Any navigation via the keyboard works as expected with values entered into the cells being honoured, however if the user enters a value into a cell and then clicks into any other cell of the treelist the value disappears. If the cell clicked into from the new row is in a different record it gets worse; when the focus is clicked back again into the newly inserted record the editor contains the value of the cell in the same column from the record that was focused immediately prior to clicking back in to the new record.

If the user enters back into the newly inserted record using cursor keys and then attempts to type a value an access violation occurs.

Again, I emphasise that if cursor keys, enter key or tab key are used to navigate from the new record's cell you get none of these problems - the value is stored and works normally - the user must click to focus on another cell to trigger this behaviour. Also, the problem ONLY occurs on values inserted via the Append statement, not when added via the treelist's navigator.

Comments (3)
DevExpress Support Team 12 years ago

    I am afraid this information is not enough to answer you precisely why this happens. Would you please provide us with a sample project to demonstrate the issue and more detailed information about the functionality you are trying to implement? We will examine it and do our best to find a solution.

    S S
    Scott van der Linden 12 years ago

      I have attached a sample app. In the app is a 27 point step by step walk through (stored in a memo so you can copy it into another document for easy reading). It is broken into sections that either lead to the issue or avoid it (the outcome is documented in the steps).
      Note:
      While writing the test app I found that even inserting a root level node with the + button in the navigator (only possible if there are no nodes in the tree) will produce the error. I.e. it is not particularly the external insert/append operation that is the issue. It now appears the issue is specifically when inserting root level nodes.

      DevExpress Support Team 12 years ago

        I have managed to reproduce these problems. I am forwarding this issue to our developers for further processing.
        You will receive an automatic message once the status of this issue is changed.

        Answers approved by DevExpress Support

        created 12 years ago (modified 12 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.

          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.