Bug Report T710380
Visible to All Users

DataGrid - Two clicks are registered to activate save/cancel buttons if a column with the calculateCellValue field is used

created 6 years ago (modified 6 years ago)

When a grid uses custom calculated columns, it is impossible to click on the save or cancel button directly from the editor of the calculated column
Refer to this codepen https://codepen.io/statler/pen/mvPOge
If you click the edit button and enter a normal column, the editor is shown. You can then change a value, and click directly on the save or cancel buttons. Editing is finished and the save/cancel buttons hidden.
If you do the same thing on a calculated column, the first click is ignored. This click seems to be used to close the editor. A second click is required to trigger the save or cancel.
Ignore the actual values I use, they of course make no sense. It is just the behaviour. The problem is the setCellValue event

Comments (1)
DevExpress Support Team 6 years ago

    Thank you for your sample. I have reproduced this behavior and we are going to update this thread as soon as we have any news.

    Answers approved by DevExpress Support

    created 6 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.

    Additional information:

    Hi Dennis,

    When you specify the setCellValue callback function of a column, dxDataGrid re-renders the entire data row after updating a cell in the column. That is why the first click does not work. We improved this behavior starting with 18.2 by adding the dxDataGrid.repaintChangesOnly option. If you enable this option, your grid will re-render only cells where values are changed. This functionality cannot be added to 18.1 because it will require significant changes that may break dxDataGrid. If possible, wait for the maintenance update with the hotfix in this ticket, install it on your machine and update your project. Then, enable the dxDataGrid.repaintChangesOnly option.

    If you are not able to update your project for certain reasons and wish to use 18.1, please clarify why you need to use the setCellValue callback. Describe your final goal in greater detail. We will do our best to help you.

      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.