I have a grid that uses a custom UserControl for editing/inserting
I have two issues, that I am trying to solve for awhile, without success:
1) UserControl does not hide when canceling inserts (only when canceling updates)
    
2) The grid does not refresh when changing/inserting an item
    
                                I have two issues, that I am trying to solve for awhile, without success:
1) UserControl does not hide when canceling inserts (only when canceling updates)
| private void bCancel_Click(object sender, ImageClickEventArgs e) | 
| { | 
| if (_ParentForm != null) | 
| { | 
| _ParentForm.ShowReleasesList(_ProductNoderef); | 
| } | 
| GridEditableItem editedItem = Parent.NamingContainer as GridEditableItem; | 
| if (editedItem != null) | 
| { | 
| editedItem.Edit = false; | 
| editedItem.OwnerTableView.ClearEditItems(); | 
| editedItem.OwnerTableView.OwnerGrid.PrepareRowsRecursive(editedItem.OwnerTableView); | 
| editedItem.OwnerTableView.OwnerGrid.PrepareRowsVisibilityRecursive(editedItem.OwnerTableView); | 
| } | 
| } | 
2) The grid does not refresh when changing/inserting an item
| private void UpdateGrid(GridEditableItem editedItem) | 
| { | 
| WorkPackage wp = WorkPackage.GetByHandle(ValDataSet, _WorkPackNoderef); | 
| IEnumerable<WorkPackDetails> previousWorkPacks = (IEnumerable<WorkPackDetails>)editedItem.OwnerTableView.OwnerGrid.DataSource; | 
| WorkPackDetails details = editedItem.DataItem as WorkPackDetails; | 
| if (details != null) | 
| { | 
| // in Update Mode update the workpack details | 
| details.FillAttributes(wp); | 
| details.FillReleasesDetails(wp, ValDataSet); | 
| List<WorkPackDetails> updatedWorkpacks = new List<WorkPackDetails>(previousWorkPacks); | 
| editedItem.OwnerTableView.OwnerGrid.DataSource = updatedWorkpacks; | 
| } | 
| else | 
| { | 
| // In Insert Mode add a new workpack | 
| details = WorkPackDetails.GetDetailsFromWorkPack(wp, ValDataSet); | 
| List<WorkPackDetails> updatedWorkpacks = new List<WorkPackDetails>(previousWorkPacks); | 
| updatedWorkpacks.Add(details); | 
| editedItem.OwnerTableView.OwnerGrid.DataSource = updatedWorkpacks; | 
| } | 
| //editedItem.Edit = false; | 
| editedItem.OwnerTableView.ClearEditItems(); | 
| editedItem.OwnerTableView.OwnerGrid.Rebind(); | 
| } |