I have an opensource project in GitHub that I am working on with lots of changes, etc. I recently upgrade the maven pom file to use the lastest Spring Release (from 3.1 to 3.2.3). I also upgrade from GWT 2.5 to 2.5.1, and finally from SmartGWT 2.5 to 4.0. After some minor code changes, I was ready to test this.
I can tell you that the Maven code builds successfully, STS/Eclipse report no errors. I can build run the app with no problems. The issue stems from when I run the app, the text boxes cannot have data entered into them, and the link items appear as text boxes.
After doing some research on the SMartGWT forums, I see that the browser cache needs to be cleared which I have done several times. I deleted my entire target directory which also deleted any gwt generated classes, code, ui, nocache.js, etc. I can re-run the maven build which re-creates everything. Again, I can clear my cache, and still the problem happens.
UPDATED: I created a new SmartGWT 4.0 and GWT 2.5.1 project from scratch. I created a new login screen, I added small bits of code at a time, and watched to see what would happen, would it work or not. It broke when I got to adding all the DynamicForm attributes. Adding the datasource at this time is what broke my login form. I agree there really is no reason to bind this to the datasource at this time. In the onClick of the Submit button, I call the loginDS.fetch(criteria) manually.
So, that would be my advice to anyone working with SmartGWT, if something doesn't work, just start re-adding stuff back slowly, and keep testing until you narrow down exactly what is causing the form/screen to not work. I hope this helps other people!
I basically just followed my own advice above as well.
I just took the broken widget and re-created a new version, and slowly moved over one method at a ime until I found the broken code. I fixed that piece, and everything worked.
The actual broken code was that I was tying the datasource to my form, and I didn't need to do that in my situation.