BindingSource.ResetBindings(Boolean) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Hace que un control enlazado al objeto vuelva a BindingSource leer todos los elementos de la lista y actualice sus valores mostrados.
public:
void ResetBindings(bool metadataChanged);
public void ResetBindings(bool metadataChanged);
member this.ResetBindings : bool -> unit
Public Sub ResetBindings (metadataChanged As Boolean)
Parámetros
- metadataChanged
- Boolean
true si el esquema de datos ha cambiado; false si solo han cambiado los valores.
Ejemplos
En el ejemplo de código siguiente se usa un BindingSource componente para enlazar una lista de matrices, que no proporciona notificación de cambios. Se quita un elemento de la lista y se notifica a los controles enlazados el cambio llamando al ResetBindings método . Este ejemplo de código forma parte de un ejemplo más grande proporcionado en Cómo reflejar las actualizaciones del origen de datos en un control de Windows Forms con 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
Comentarios
El ResetBindings método informa a todos los controles enlazados a BindingSource para actualizar sus valores. El método lo hace al generar el ListChanged evento al menos una vez; el metaDataChanged parámetro indica la naturaleza del cambio subyacente.
Un
metaDataChangedvalor detrueindica que el esquema de datos de BindingSource ha cambiado. Se genera un ListChanged evento con establecido en ListChangedEventArgs.ListChangedTypeListChangedType.PropertyDescriptorChanged.Un
metaDataChangedvalor defalseindica que solo han cambiado los valores de uno o varios elementos.
Independientemente del valor de metaDataChanged, se genera un ListChanged evento con establecido en ListChangedEventArgs.ListChangedTypeListChangedType.Reset. Como consecuencia, llamar a ResetBindings con un parámetro de true generará dos ListChanged eventos.
ResetBindings se llama automáticamente cada vez que otro miembro realiza cambios importantes en el enlace de datos, como establecer las DataSource propiedades o DataMember . Sin embargo, el programador también puede llamar explícitamente a este método.