Hello,
I have a UltraWinGrid which has at least one GroupBy column (Outlook Group By). I want to select all GroupByRows and Data rows on the grid (Even the ones invisible. I have a function to export the selected rows to excel). I have problems with selecting ChildBand's (lower level GroupByRows and Data rows).
I can select the first level GroupByRows by this.
theUltraGrid.Selected.Rows.AddRange(theUltraGrid.Rows.All)
However, I get 'NullReferenceException' when I try to add ChildBand's rows to SelectedRows.
I am doing something like this. (In the real code I do it recursively)
theUltraGrid.Selected.Rows.AddRange(theUltraGrid.Rows(0).ChildBands(0).Rows.All)
I get the following exception.
{"Object reference not set to an instance of an object."} at Infragistics.Win.UltraWinGrid.Selected.SelectionPositionSortComparer.CompareRow(UltraGridRow rowX, UltraGridRow rowY) ...
I tried it in several different ways but I always get the same exception. I am wondering if my code has problems or the way I do is completely wrong. Please give me advice.
Thanks!
There are two problems here.
First, you cannot select rows on more than one level at a time. This means you cannot select a GroupByRow and one of it's child rows at once. If you select a child rows, the GroupByRow will be de-selected.
I think the second issue is with how you are getting the child rows. If the grid is grouped, then theUltraGrid.Rows(0) will be a GroupByRow. A GroupByRow will never have a ChildBands collection. ChildBands only exist on data rows. What you need to do is cast the row into an UltraGridGroupByRow and use the Rows collection to get it's child rows.
Hello Mike,
Thanks for the reply! I will try to figure out what I can do to make my functionalities work with your advice! Probably I will think of something using UltraGridGroupByRow as you taught me!
Thanks alot!!!
Hi
could you post a sample code for this?