Hi Sotiris,
Thanks for your additional feedback. I do understand (and did from your original post as well) the complications you are running into and the limitations that the SQL Binding feature has when using:
1. SQL Binding
2. Question Events
3. Dependent Lists
Example situation: You have 'Car Models' pulling from the table 'Car Types', you save Car Type and Care Models to the database correctly but when binding Car Models doesn't pull in properly based on the Car Types within the SQL.
There are some limitations within the module when using and combining these features and we are still researching these for future builds (currently this isn't supported but we hope it will be in the future as we are starting to run into more implementations where this is needed).
So, what I described above DOES work as we have had to do it with other clients. Its somewhat confusing but ill describe it again:
1. You need to create a 'trigger' field that you can use within a SQL Options query or stored procedure. Example, have a hidden field called 'DBUpdate' with a default of False.
2. Create a stored procedure to reference your SQL Lists instead of using a query for your items referencing another field for its SQL Options.
3. Pass in the parameter for DBUpdate into the stored procedure along with field 1 (in my example Car Types). Then if the value is false for DBUpdate in your stored procedure then use the query you are currently using to render that list as it always has been.
4. Set the value over the querystring when you are in 'SQL Binding' or 'Update Mode' to 'TRUE'. I would have to know if this update is coming from an edit link or what but you can set this to True.
5. In your stored procedure, check if the value is 'True' for DBUpdate and if it is then use a SQL Query which checks the record stored in the database table for the actual value, this way your query isn't actually needing the previous field which isn't stored in viewstate and causing a problem and is pulling from the database table. Please note, this could change your stored procedure slightly because this means you might also need to pass in maybe the same primary key you are using for your SQL Bind as well. So your stored procedure might pass in your primary key, DBUpdate, and the value for $(Field1) in case DBUpdate is false.
6. The final 'trick' to this is to use a client side event so that when you have the page loaded and working / displaying properly in Edit mode you change the value of $(DBUpdate) = 'False' within field 1. This way if you are in Edit mode and you want to change the value for Field 1 (in our case Car Types) then you also change DBUpdate to false and therefore when the question event fires to go and populate the next field you end up pulling from $(Field1) in your query and not pulling from the database.
So, confusing and requires some work but you can do it
We do offer Premium Support if you need us to jump in at any time, you can pick hours up at
http://www.datasprings.com/Premium-Support. Thanks!
-Chad