public void CannotSortTest() { List <TestClass> intList = new List <TestClass>() { new TestClass() }; PagedCollectionView pcv = new PagedCollectionView(intList); // we are not allowed to sort during an edit operation pcv.EditItem(pcv[0]); PagedCollectionViewTest.AssertExpectedException( new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, PagedCollectionViewResources.OperationNotAllowedDuringAddOrEdit, "Sorting")), delegate { pcv.SortDescriptions.Clear(); }); pcv.CommitEdit(); // we are not allowed to sort during an add new operation pcv.AddNew(); PagedCollectionViewTest.AssertExpectedException( new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, PagedCollectionViewResources.OperationNotAllowedDuringAddOrEdit, "Sorting")), delegate { pcv.SortDescriptions.Clear(); }); }
/// <summary> /// This method will listen to the CurrentChanged event and will commit any add or edit /// operations taking place in the PagedCollectionView. /// </summary> /// <param name="sender">PagedCollectionView firing the event</param> /// <param name="e">CurrentChanged event args</param> private void CommitAddOrEditOperation(object sender, EventArgs e) { PagedCollectionView pcv = sender as PagedCollectionView; if (pcv != null) { if (pcv.IsAddingNew) { pcv.CommitNew(); } else if (pcv.IsEditingItem) { pcv.CommitEdit(); } } }