BindingSource.ResetBindings(Boolean) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyebabkan kontrol yang terikat ke BindingSource untuk dibaca ulang semua item dalam daftar dan menyegarkan nilai yang ditampilkan.
public:
void ResetBindings(bool metadataChanged);
public void ResetBindings (bool metadataChanged);
member this.ResetBindings : bool -> unit
Public Sub ResetBindings (metadataChanged As Boolean)
Parameter
- metadataChanged
- Boolean
true
jika skema data telah berubah; false
jika hanya nilai yang berubah.
Contoh
Contoh kode berikut menggunakan BindingSource komponen untuk mengikat daftar array, yang tidak memberikan pemberitahuan perubahan. Item dihapus dari daftar, dan kontrol terikat diberi tahu tentang perubahan dengan memanggil ResetBindings metode . Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan dalam Cara: Mencerminkan Updates Sumber Data dalam Kontrol Formulir Windows dengan 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
Keterangan
Metode ini ResetBindings menginformasikan semua kontrol yang terikat ke BindingSource untuk me-refresh nilainya. Metode melakukan ini dengan menaikkan ListChanged peristiwa setidaknya sekali; metaDataChanged
parameter menunjukkan sifat perubahan yang mendasar.
metaDataChanged
Nilaitrue
menunjukkan bahwa skema BindingSource data telah berubah. Peristiwa ListChanged dinaikkan dengan ListChangedEventArgs.ListChangedType diatur ke ListChangedType.PropertyDescriptorChanged.Nilai
metaDataChanged
false
menunjukkan bahwa hanya nilai satu atau beberapa item yang telah berubah.
Terlepas dari metaDataChanged
nilai , ListChanged peristiwa dinaikkan dengan ListChangedEventArgs.ListChangedType diatur ke ListChangedType.Reset. Sebagai konsekuensinya, memanggil ResetBindings dengan parameter true
akan memunculkan dua ListChanged peristiwa.
ResetBindings secara otomatis dipanggil setiap kali anggota lain membuat perubahan besar pada pengikatan data, seperti mengatur DataSource properti atau DataMember . Namun, programmer juga dapat memanggil metode ini secara eksplisit.