It's easy to bind an XtraGrid control to a class by setting the FieldName for each column to the name of a property in the underlying class. We have now encountered a situation in which we would like to display data from a class nested in the underlying class.
i.e. we have a "User" class which contains a property called "Address" which is another class called "Address". Within Address are properties like Street, City etc.
We would like to display on the grid the UserName (from User class) and Street (from the Address class). Is this possible?
Please note that Address is not a List, it is a class nested inside of the User class.
We have tried setting the grid column FieldName to "Address.Street" however this doesn't work to pickup the data. I am hoping that this is possible, it seems an elementary feature to not support.
Lets assume you have the following classes in your code.
1) Address class
2) User class
Now, that you want to bind a column Street to property User.Address.Street, this unfortunately wouldn't work by simply setting FieldName to "Address.Street"
But, if it is important that you accomplish it the way you want, I would suggest that you override the ToString() method of the Address class as follows:
Then, set the field name to "Address", instead of "Address.Street" which should do the trick.
Also another approach would be to add another readonly property called UserStreet in the User class:
And then set FieldName to "UserStreet".
Hope this helps.