BindingGroup.UpdateSources Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Esegue il convertitore sull’associazione e gli oggetti ValidationRule la cui proprietà ValidationStep è impostata su RawProposedValue, ConvertedProposedValue oppure UpdatedValue, quindi salva i valori degli oggetti destinazione sugli oggetti origine, se tutte le regole di convalida hanno avuto esito positivo.
public:
bool UpdateSources();
public bool UpdateSources ();
member this.UpdateSources : unit -> bool
Public Function UpdateSources () As Boolean
Restituisce
true
se tutte le regole di convalida hanno avuto esito positivo, altrimenti false
.
Esempio
L'esempio seguente fa parte di un'applicazione che richiede all'utente di immettere più clienti e assegnare un rappresentante di vendita a ogni cliente. L'applicazione verifica che il rappresentante e il cliente appartengano alla stessa area. Nell'esempio viene chiamato UpdateSources per convalidare le associazioni e salvare i valori nell'origine se tutte le regole di convalida hanno esito positivo.
void saveCustomer_Click(object sender, RoutedEventArgs e)
{
Button btn = sender as Button;
FrameworkElement container = (FrameworkElement) customerList.ContainerFromElement(btn);
// If the user is trying to change an items, when another item has an error,
// display a message and cancel the currently edited item.
if (bindingGroupInError != null && bindingGroupInError != container.BindingGroup)
{
MessageBox.Show("Please correct the data in error before changing another customer");
container.BindingGroup.CancelEdit();
return;
}
if (container.BindingGroup.UpdateSources())
{
bindingGroupInError = null;
MessageBox.Show("Item Saved");
}
else
{
bindingGroupInError = container.BindingGroup;
}
}
Private Sub saveCustomer_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim btn As Button = TryCast(sender, Button)
Dim container As FrameworkElement = CType(customerList.ContainerFromElement(btn), FrameworkElement)
' If the user is trying to change an items, when another item has an error,
' display a message and cancel the currently edited item.
If bindingGroupInError IsNot Nothing AndAlso bindingGroupInError IsNot container.BindingGroup Then
MessageBox.Show("Please correct the data in error before changing another customer")
container.BindingGroup.CancelEdit()
Return
End If
If container.BindingGroup.UpdateSources() Then
bindingGroupInError = Nothing
MessageBox.Show("Item Saved")
Else
bindingGroupInError = container.BindingGroup
End If
End Sub
Commenti
Questo metodo aggiorna l'origine se ogni ValidationRule operazione riesce, ma non causa il commit delle modifiche in sospeso da parte delle origini e la fine della transazione di modifica. Ovvero, se l'oggetto di origine implementa IEditableObject. La chiamata a questo metodo non comporta EndEdit la chiamata. Usare il CommitEdit metodo per fare in modo che le origini eseseguono il commit delle modifiche in sospeso.