Hi
Can i get the width of certain column of an ultrapivot grid? Or the width of a certain cell?
Are those widths resizeable?
Thanks!
Hello,
Thank you for posting in our forums.
The UltraPivotGrid has a columns collection and you can get the widths of each of the columns from there.
You can also set this width to resize it programmatically, or set the AllowColumnResize property to enable/disable letting the user resize it through the UI.
If you need further assistance with this, please let me know.
Thanks!The goal was to get the point in red circle in the file attached. Do you know how can i get it?
Thanks!!
I just need the distance of the width of the Measure column or the the width of the left fixed columns or the width of the Group_Y_1 column. The three of the are the same distance. Take a look at the picture.
Okay. I'm trying to explain that it's probably not that simple. How you get the width depends a lot on WHEN you need to get it and what you are going to do with it.
But if you are not interested in any of that and you just want to get the width, you can probably use a CreationFilter like this:
this.ultraPivotGrid1.CreationFilter = new MyCreationFilter(); class MyCreationFilter : IUIElementCreationFilter { void IUIElementCreationFilter.AfterCreateChildElements(UIElement parent) { if (parent is UltraPivotGridUIElement) { var rowDropAreaUIElement = parent.GetDescendant(typeof(RowDropAreaUIElement)); if (null != rowDropAreaUIElement) Debug.WriteLine(rowDropAreaUIElement.Rect.Right); } } bool IUIElementCreationFilter.BeforeCreateChildElements(UIElement parent) { // Do nothing return false; } }
You are right. The question is WHEN. And I need in an AfterDraw event, I mean, when the table is already populated. The creation filter doesn´t give me the info I want.
For example, the UltraGrid component provide this info of the col width.
Any other ideas?
What should I do? Launch it as a product idea?
Thanks again.
As I was trying to explain initially... in order to help you with this, I really need to know what you are trying to do with this information. Why do you want the width of this element? What are you trying to use it for?
I thought you were trying to position a label or some other control on top of the UltraPivotGrid, in which case, the CreationFilter would actually work. The code I have here will fire any time the RowDropAreaUIElement gets positioned, so you could use that position to place some other control if that's what you want.
If you want to use the Paint event, or after-draw, then you could could use a DrawFilter or derive a control from the PivotGrid and then override OnPaint and then do whatever you want to do after you call the base implementation.
But there are really too many possibilities here for me to help you intelligently without know what you are trying to do.
Hi again and sorry for the time jumps. I am travelling a lot.
Mike Saltzman said:I thought you were trying to position a label or some other control on top of the UltraPivotGrid, in which case, the CreationFilter would actually work. The code I have here will fire any time the RowDropAreaUIElement gets positioned, so you could use that position to place some other control if that's what you want.
Yes, that is what we want. I haven't had time for trying again the creation filter. I'll try it this week and tell you if it works.
Thanks for the help. Thanks for the patience.
Excellent. Glad you finally got it working. :)
Hi Mike!
Looks that the creation filter you send me works!
Thanks for the help! And again, for your patience.
No problem. Let me know how it goes.