Grid column events are blocked when query has no update after upgrading ODAC
Posted: Wed 30 Mar 2022 10:02
Hello,
We recently migrated from ODAC 6.25.2.14 to 11.2.5 due to a database change.
Most things seem to work, but I found a behaviour change while using grids (DevExpress).
In the previous versions, when I had a grid connected to a TOraQuery, even if the query had no SQL in the update section, the grid events worked. Now it seems that grid is blocked if an update query is not provided.
My use case is the following: I have a table with the different environments we use internally (let's say ENVIRONMENTS), and another table that indicates if a company has access to that environment (COMPANY_ENVIRONMENT).
What I had until now was a SELECT from ENVIRONMENTS and with an OUTER JOIN to COMPANY_ENVIRONMENT, and when a row was found in COMPANY_ENVIRONMENT, there was a decode to a SELECTED field (true if a row was found in COMPANY_ENVIRONMENT, false if not).
I then had a column in the grid linked to the SELECTED field, with an onChange event associated to it. When the event was called, if the checkbox was selected, I made an insert to COMPANY_ENVIRONMENT, if it was unchecked, a DELETE, and then a refresh.
This was probably not the best way of doing it, but it worked, and the user could manage the relationship between both tables with a checkbox. Now, if no update is provided in the query, the checkbox event isn't even called. It seems that something is blocking it, but I can't really find any property of the query that can change that behaviour.
Any ideas?
We recently migrated from ODAC 6.25.2.14 to 11.2.5 due to a database change.
Most things seem to work, but I found a behaviour change while using grids (DevExpress).
In the previous versions, when I had a grid connected to a TOraQuery, even if the query had no SQL in the update section, the grid events worked. Now it seems that grid is blocked if an update query is not provided.
My use case is the following: I have a table with the different environments we use internally (let's say ENVIRONMENTS), and another table that indicates if a company has access to that environment (COMPANY_ENVIRONMENT).
What I had until now was a SELECT from ENVIRONMENTS and with an OUTER JOIN to COMPANY_ENVIRONMENT, and when a row was found in COMPANY_ENVIRONMENT, there was a decode to a SELECTED field (true if a row was found in COMPANY_ENVIRONMENT, false if not).
I then had a column in the grid linked to the SELECTED field, with an onChange event associated to it. When the event was called, if the checkbox was selected, I made an insert to COMPANY_ENVIRONMENT, if it was unchecked, a DELETE, and then a refresh.
This was probably not the best way of doing it, but it worked, and the user could manage the relationship between both tables with a checkbox. Now, if no update is provided in the query, the checkbox event isn't even called. It seems that something is blocking it, but I can't really find any property of the query that can change that behaviour.
Any ideas?