I've seen this behavior off and on but could never reproduce it consistently until now. It appears to happen only when using the IdeaBlade DevForce Classic XtraGridBindingManager control to communicate with a database through the IdeaBlade layer. However, the problem does *not* appear to be with IdeaBlade because I can see that the proper data is looked up in memory but it is just not being displayed correctly on the screen.
What I'm trying to do is to display the contents of a master table and one column of a detail table inside one grid. Because a one-to-many relationship exists in the database between the master and the detail tables, that grid column is formatted as a LookupEdit column.
1. Create a new database named gridbindingbug on the default local instance of SQL Server 2008 and run the attached script.sql file. This script creates a table Master and a table Details and populates them with the necessary data.
2. Build and run the solution. When the application window shows, you will see one or more cells of the Details column in the grid show up empty.
When I tried to reproduce this scenario with XML datasets, the grid worked properly. At first I thought that the problem was with the DevExpress grid control because after all I can see the correct data in memory. So I posted a question on the DevExpress forum. As you can see, however, they referred me back to IdeaBlade, which now leads me to believe that the problem is with the binding manager that you developed for DevExpress:
Thank you for the attached project. It helped me reproduce this problem. The issue is caused by the fact that GridControl cannot correctly operate complex data types as in case of the Detail class. To operate these data types, I suggest you use unbound columns (ms-help://DevExpress.NETv11.2/DevExpress.WindowsForms/CustomDocument1477.htm). If you do not want to use them, I suggest you contact the IdeaBlade support team to resolve this problem.
I have tried to follow their suggestion of using unbound grid columns, but that's not working either.