I had a similar issue, using an address cell. I just created a new user control, and then implemented the ICellEditor and ICellViewer interface. As I fill the grid (or after data binding) I create an addressBlob class that has the fields of the address in it. That is used as the Value for that cell. The viewer then prints the persons name in the cell during the cell_paint method, but when the editor is clicked, a form pops up little form with a full address control on it. When the user presses enter, the editor goes away, and the name reappears.
Using a toolTip compnent, you can also make the whole address pop up as a tool tip as you scroll over each cell.
Using this method, you should be able to paint whatever you want in the cell, based on the cells, or other cells contents.
I haven’t had any speed issues using this method. My guess with speed problems is that you’re getting a type exception thrown somewhere, and either data-binding or the grid itself are hiding the exception from you. The grid has a big tendency to throw exceptions and catch them itself.
Hope that helps.
Imported from legacy forums. Posted by Christopher (had 416 views)