mdominguez
2020-10-26T01:42:45Z
Hello Igor (or Whomever it May Concern),

I am trying to select a contiguous range of cells programmatically and efficiently (eg. in Excel a range like B:5 to G:13550) from a "large" dataset in iGrid.NET. The grid is setup to use SelectionMode MultiExtended with RowMode disabled. I am currently looping through rows and cells to set cell "Selected" to True; however, this method is exceeding slow when there are many rows/cells to be selected. I know an internal method must exist for this since I can select the desired range quickly when done manually via mouse inputs – left-click to select the range's top left corner cell, use scrollbars to find the required range's bottom right corner cell, and shift+click to select the entire range between. Before I go down the rabbit hole of looking into the iGrid source code or maybe trying to programmatically scroll and simulate mouse clicks select a ranges, I was hoping you might have another solution.

Is there another way to select a range of cells or add the cell range to the Selected Cells Collection more efficiently? Sorry if this is already answered; it seams simple enough that I might not be the first to ask but I could not find it.

Your assistance is most appreciated!
Matthew
Igor/10Tec
2020-10-26T07:29:40Z
Yes, you are right - we have such a method named SelectRange. But this method is a part of the iGrid internal infrastructure and was never intended to be exposed as a public method.

Your request can be considered as a good suggestion to make this method public and we will think about adding it in the future updates. I am moving this topic to the Suggestions section. At the moment, the only straightforward method to do what you need is to set the selection property for every cell from your range with the Selected property (don't forget to wrap this block of code with beginUpdate/EndUpdate). Or you can imitate Shift+Click as an alternative.
Igor/10Tec
2023-05-12T14:44:53Z
The SelectCellRange and SelectRowRange methods were implemented in iGrid.NET 11.0. Now we have an efficient way to select blocks of cells or rows.

iGrid.NET 11 also provides their counterparts to remove selection from cells and rows - DeselectCellRange and DeselectRowRange.