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