Hi,
I have an ultragrid with 2 bound columns on it. I want to be able to create and remove columns at runtime.
When an event fires in my application, I need to refresh the grid's columns. I want to delete all the unbound columns from my grid, and then add in columns again. The columns are being added to an UltraGridGroup when they are created, by setting
column.Group = grid.DisplayLayout.Bands(0).Groups("grpName")
grid.DisplayLayout.Bands(0).Columns.ClearUnbound()
but that doesn't seem to work correctly. It looks like they are being deleted, but maybe the Group is holding on to them (???). When I try to add the columns back in, I get an error that the Key already exists when I try to set the column.Group again. My column keys are unique, so I don't know what's wrong.
Any thoughts?
Thanks,
~Karen
Karen,
If your columns are bound, then by definition they are owned and controlled by the underlying data source, which is why calling ClearUnbound() is not doing anything. It's hard to say what's going on with your errors here, but if you want to actually *remove* a bound column, it would have to be removed from the data source. Should you want to maintain the data source structure, you could simply set the column's Hidden property to true.
-Matt
Hi Matt,
One other note on this problem...
If I don't try to put my columns in UltraGridGroups, I don't have any problems.
Thanks Matt, but the columns I'm trying to get rid of are NOT bound. I have 2 Bound columns columns, but then a few unbound columns that I want to clear out. I have attached a sample grid that shows my problem. Try running it, and then change the number of rows or columns that are supposed to show. You'll hit the error that way.
Thanks again for the help,