BindingSource.ResetBindings(Boolean) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Entraîne la relecture par un contrôle lié au BindingSource de tous les éléments dans la liste et l'actualisation de leurs valeurs affichées.
public:
void ResetBindings(bool metadataChanged);
public void ResetBindings (bool metadataChanged);
member this.ResetBindings : bool -> unit
Public Sub ResetBindings (metadataChanged As Boolean)
Paramètres
- metadataChanged
- Boolean
true
si le schéma de données a changé ; false
si seules les valeurs ont changé.
Exemples
L’exemple de code suivant utilise un BindingSource composant pour lier une liste de tableaux, qui ne fournit pas de notification de modification. Un élément est supprimé de la liste et les contrôles liés sont avertis de la modification en appelant la ResetBindings méthode . Cet exemple de code fait partie d’un exemple plus large fourni dans How to: Reflect Data Source Mises à jour in a Windows Forms Control with the BindingSource.
private:
void button1_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
{
String^ xml = "<US><states>"
+ "<state><name>Washington</name><capital>Olympia</capital> "
+ "<flower>Coast Rhododendron</flower></state>"
+ "<state><name>Oregon</name><capital>Salem</capital>"
+ "<flower>Oregon Grape</flower></state>"
+ "<state><name>California</name><capital>Sacramento</capital>"
+ "<flower>California Poppy</flower></state>"
+ "<state><name>Nevada</name><capital>Carson City</capital>"
+ "<flower>Sagebrush</flower></state>"
+ "</states></US>";
// Convert the xml string to bytes and load into a memory stream.
array<Byte>^ xmlBytes = Encoding::UTF8->GetBytes( xml );
MemoryStream^ stream = gcnew MemoryStream( xmlBytes,false );
// Create a DataSet and load the xml into it.
dataSet2->ReadXml( stream );
// Set the data source.
bindingSource1->DataSource = dataSet2;
bindingSource1->ResetBindings( true );
}
private void button1_Click(object sender, EventArgs e)
{
// If items remain in the list, remove the first item.
if (states.Count > 0)
{
states.RemoveAt(0);
// Call ResetBindings to update the textboxes.
bindingSource1.ResetBindings(false);
}
}
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles button1.Click
' If items remain in the list, remove the first item.
If states.Count > 0 Then
states.RemoveAt(0)
' Call ResetBindings to update the textboxes.
bindingSource1.ResetBindings(False)
End If
End Sub
Remarques
La ResetBindings méthode informe tous les contrôles liés au BindingSource pour actualiser leurs valeurs. Pour ce faire, la méthode déclenche l’événement ListChanged au moins une fois ; le metaDataChanged
paramètre indique la nature de la modification sous-jacente.
La
metaDataChanged
valeur indiquetrue
que le schéma de données de BindingSource a changé. Un ListChanged événement est déclenché avec ListChangedEventArgs.ListChangedType défini sur ListChangedType.PropertyDescriptorChanged.La
metaDataChanged
valeur indiquefalse
que seules les valeurs d’un ou plusieurs éléments ont changé.
Quelle que soit la valeur de metaDataChanged
, un ListChanged événement est déclenché avec ListChangedEventArgs.ListChangedType la valeur définie sur ListChangedType.Reset. Par conséquent, l’appel ResetBindings avec un paramètre de true
déclenche deux ListChanged événements.
ResetBindings est automatiquement appelé chaque fois qu’un autre membre apporte des modifications majeures à la liaison de données, telles que la définition des DataSource propriétés ou DataMember . Toutefois, le programmeur peut également appeler cette méthode explicitement.