void objectListView_ItemChecked(object sender, ItemCheckedEventArgs e) { if (GroupingChanging != null) { var eventArgs = new GroupingChangingEventArgs <T>() { Grouping = (e.Item as OLVListItem).RowObject as Grouping <T>, NewIndex = (e.Item as OLVListItem).Index }; GroupingChanging(this, eventArgs); if (eventArgs.Cancel) { return; } } if (GroupingChanged != null) { GroupingChanged(this, EventArgs.Empty); } }
void rearrangingDropSink_CanDrop(object sender, OlvDropEventArgs e) { if (GroupingChanging != null) { var eventArgs = new GroupingChangingEventArgs <T>() { Grouping = (e.DataObject as OLVDataObject).ModelObjects[0] as Grouping <T>, NewIndex = Math.Max(0, e.DropTargetIndex) }; if (e.DropTargetItem != null && ReferenceEquals(eventArgs.Grouping, e.DropTargetItem.RowObject)) { e.Effect = DragDropEffects.None; } else { GroupingChanging(this, eventArgs); if (eventArgs.Cancel) { e.Effect = DragDropEffects.None; } } } }