Hi
I have an ultratree (ViewStyle = OutlookExpress), can 2 columns show the expansion column?
Hi,
There's no built-in way to do this, but it might be possible using a CreationFilter to insert an expansion indicator into another cell. It depends on the contents of the cell and what kind of editor it's using, though.
Which two cells do you want the indicator to show up in? Are they both strings? Are they editable?
I am trying to build a UI similar to Beyond Compare when comparing 2 folders. It looks like you have a tree on the left and a second one on the right.
I am trying to have a UI similar to this with a single ultratree control.
I currently have set ViewStyle to OutlookExpress so I have my columns but would like to display the expansion in a second column.
Both columns are strings. So far, I don't need to have them editable.
I tried to create a sample of the CreationFilter to get you the behavior you want, but unfortunately, it does not work. I think there's a bug in the control that is currently preventing it from working, so there's no way to do this until the bug is fixed.
I'm going to ask Infragistics Developer Support to open a case for you so that we can get the bug fixed.
But, of course, it will only be fixed in the latest version(s). What version of the tree are you using?
I found a way to do it without triggering the bug, so just ignore my previous response.
I am attaching a small sample project that adds the expansion indicators into a second column using a CreationFilter.
Almost.
Why isn't the expansion indicators indented?
I found a way to indent:
Rectangle expansionIndicatorUIElementRect = new Rectangle(parentRect.X + (((UltraTreeNodeCellUIElement)parent).Node.Level * 20), parentRect.Y + ((parentRect.Height - 13) / 2), 13, 13);
How can I get the indent width (to put instead of my 20 constant)
and is there an easy way to not display the expansion indicator when no children like:
treeHeadersLeft.Override.ShowExpansionIndicator = ShowExpansionIndicator.CheckOnDisplay;
Thanks. It looks a lot better now.
Ooooh, I see the problem, now. The references have nothing to do with it, I just misunderstood the problem. I thought you were talking about the indentation of the expansion indicators, but you meant the child rows. I misread it, sorry. I didn't even notice that part, so there was nothing in my sample to handle it.
Here's a new sample that works a lot better.
It is not working for me but I think I partly found why.
When I open your test solution (in VS2012), 2 references are wrong (as shown in 86212-references.png).
So I remove the reference to UIElementViewer as it doesn't seem to be required.
I replace the reference to the UltraWinTree with my local (also v12.2).
I run the solution and the children nodes are left aligned (as shown in 86212-rendering.png).
The issue might be that there are 2 versions on v12.2 as shown in 86212-references-code.png)! My version is 12.2.20122.2027 and yours seems to be 12.2.0.9000. Can it be the issue? Any fix for my (sub-)version?
I tried this out, and it seems to work okay for me. I have attached an updated sample using CheckOnDisplay.
With your new code, with the Show set to ShowExpansionIndicator.CheckOnDisplay, the nodes without the indicator appears completely left aligned.