Hi
I am using UltraWinGrid of Infragistics 2008in my project. I require the functionality of row/column freezing exactly like available in Excel. I have found that we can freeze a row/column easily, but as soon as we freeze it, it moves from its actual location to come in front of the available rows/columns. But i want that, say i freeze column 3, then it should not move from there but it should also freeze columns 1 & 2. Similarly when i click a row say 9 then all rows from 1 to 9 should get freezed.
Is there any way to get this kind of functionality? For freezing rows, i have tried to override its OnBeforeRowFixedStateChanged event. Here by using loopes I hav tried to giv the same functionality of freeze unfreeze to the rows as it is in Excel. But for a large dataset, say 10000, it doesn't perform well.
Anoop
Hi Anoop,
I was going to suggest looping through the previous rows or columns and fixed those, too. I'm not sure I follow what you mean about the performance. If you have 10,000 rows, then I don't see how freezing would work, anyway. You cannot freeze 10,000 rows, anyway, because this would fill more than a screen's worth of space and you would see nothing but frozen rows and be unable to scroll.
Another option you might consider is using ColScrollRegions and RowScrollRegions. This gives you splitter bars that are much more Excel-Like in their behavior.
Thanks Mike
But can you please explain a bit more how to set ColScrollRegions. I found the propert MaxColScrollRegions, but even changing it doesnt seem to work
Well, if MaxColScrollRegions is more than 1, a small button will appear inside the scroll bar on the left edge. The user can click and drag this bar to split the grid.
In code, to split a region you would use the Split method, either on the grid.ActiveColScrollRegion or an item in the grid.DisplayLayout.ColScrollRegions collection.
Hi ,
I want the same behaviour in my application .
Can anyone help me with the code. please
Need ASAP.
Thanks.
Hi,
What exactly do you need help with? It's a single method call to the Split method.
this.ultraGrid1.DisplayLayout.ColScrollRegions[0].Split();