Walkthrough: Editing Data From a Domain Service
Prerequisites
To display and edit data from a domain service
<Grid x:Name="LayoutRoot" Background="White"> <Grid.RowDefinitions> <RowDefinition Height="40"></RowDefinition> <RowDefinition Height="*"></RowDefinition> </Grid.RowDefinitions> <StackPanel HorizontalAlignment="Center" Grid.Row="0" Orientation="Horizontal"> <Button Content="Save Changes" Click="SaveButton_Click" Margin="5" x:Name="SaveButton"></Button> <Button Content="Reject Changes" Click="RejectButton_Click" Margin="5" x:Name="RejectButton"></Button> <TextBlock x:Name="ChangeText" VerticalAlignment="Center" Width="Auto"></TextBlock> </StackPanel> <data:DataGrid Grid.Row="1" Name="CustomerGrid" RowEditEnded="CustomerGrid_RowEditEnded"></data:DataGrid> </Grid>Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) _customerContext.SubmitChanges(AddressOf OnSubmitCompleted, Nothing) End Sub Private Sub RejectButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) _customerContext.RejectChanges() CheckChanges() End Sub Private Sub CustomerGrid_RowEditEnded(ByVal sender As System.Object, ByVal e As System.Windows.Controls.DataGridRowEditEndedEventArgs) CheckChanges() End Sub Private Sub CheckChanges() Dim changeSet = _customerContext.EntityContainer.GetChanges() ChangeText.Text = changeSet.ToString() Dim hasChanges = _customerContext.HasChanges SaveButton.IsEnabled = hasChanges RejectButton.IsEnabled = hasChanges End Sub Private Sub OnSubmitCompleted(ByVal so As SubmitOperation) If (so.HasError) Then MessageBox.Show(String.Format("Submit Failed: {0}", so.Error.Message)) so.MarkErrorAsHandled() End If CheckChanges() End Subprivate void SaveButton_Click(object sender, RoutedEventArgs e) { _customerContext.SubmitChanges(OnSubmitCompleted, null); } private void RejectButton_Click(object sender, RoutedEventArgs e) { _customerContext.RejectChanges(); CheckChanges(); } private void CustomerGrid_RowEditEnded(object sender, DataGridRowEditEndedEventArgs e) { CheckChanges(); } private void CheckChanges() { EntityChangeSet changeSet = _customerContext.EntityContainer.GetChanges(); ChangeText.Text = changeSet.ToString(); bool hasChanges = _customerContext.HasChanges; SaveButton.IsEnabled = hasChanges; RejectButton.IsEnabled = hasChanges; } private void OnSubmitCompleted(SubmitOperation so) { if (so.HasError) { MessageBox.Show(string.Format("Submit Failed: {0}", so.Error.Message)); so.MarkErrorAsHandled(); } CheckChanges(); }
To set metadata for the entity to update
PreviousWalkthrough: Retrieving and Displaying Data From a Domain ServiceNextWalkthrough: Displaying Data in a Silverlight Business Application
Last updated