I want to dynamically create and display a ColumnSet with multiple cells under each column, but with a header only on the top cell. When I add an UltraTreeNode and set its Override.ColumnSet to my columnSet, it gets a set of headers along with the set of cells. How can I display a single set of headers above the first node and not the subsequent nodes? This code is adding nodes on the fly, not using databinding.
The tree uses a GridBagLayout for the layout of each node. What you would have to do is hide the readl column header for each of the column, then add in some dummy columns that only have a header. You do this using the LabelPosition property of the column. You can set it to None to hide a column and set it to LabelOnly to have a header with no column. Then you would adjust the SpanX, SpanY, OriginX, and OriginY to position the headers and columns so they span.
I want to achieve something similar: I have an UltraTree with ViewStyle.FreeForm. On top of the sub-elements column headers, I want to put a general title header - what is the type of the sub-elements grid.
How can I do that ?
I'm not sure I understand your question. It sounds like you want to do exactly what I described above. Add an unbound column and set it's LabelStyle to LabelOnly.
I'm trying to do somthing like:
UltraTreeNodeColumn doesn't hold LabelPosition property - only UltraTreeColumnSet has it.
Oh, sorry. The LabelPosition, like all other node layout info, is on the LayoutInfo object.
So it's column.LayoutInfo.LabelPosiiton.