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(); |
| } |