Ignoring selections on rows

I am trying to do some special handling of selections with the SelectionChanging and SelectionChanged events. I am using the: ListBoxSelectionMode = SelectionMode.MultiExtended; My SelectionChanged code looks something like this (simplyfied): if ( e.Range.Top == 2 ) { e.Cancel = true; } Now the problem is that if my previous selection was say row 3 and 4 and I click row 2. The previous selection is cleared. I'd like to just ignore the click on row 2 and keep the valid selection (3,4). I am sure that must be something simple. Thanks

1 Reply

AD Administrator Syncfusion Team September 11, 2003 11:28 AM UTC

In addition to cancelling the new selection, you also have to cancel the de-selection of the old range which you use e.Range.IsEmpty to test for.
private void gridControl1_SelectionChanging(object sender, GridSelectionChangingEventArgs e)
{
	if(e.Range.IsEmpty && e.ClickRange.IntersectsWith(GridRangeInfo.Row(2)))
		e.Cancel = true;
	else if(e.Range.IntersectsWith(GridRangeInfo.Row(2)))
		e.Cancel = true;
}

Loader.
Up arrow icon