BindingManagerBase Sınıf

Tanım

Aynı veri kaynağına ve veri üyesine bağlı tüm Binding nesneleri yönetir. Bu sınıf soyut.

public ref class BindingManagerBase abstract
public abstract class BindingManagerBase
type BindingManagerBase = class
Public MustInherit Class BindingManagerBase
Devralma
BindingManagerBase
Türetilmiş

Örnekler

Aşağıdaki kod örneği, belirli bir veri kaynağı için bir BindingManagerBase döndürmek için öğesini kullanırBindingContext. (Örnekte, modülün Bildirimler bölümünde bildirdiğiniz myBindingManagerBase varsayılır.) Örnek daha sonra ve PositionChanged olaylarına olay temsilcileri CurrentChanged ekler. Son olarak, örnekte özelliği artıran veya azalan Position ve MoveLastlistedeki ilk veya son satıra ayarlayan Position dört yöntem (MoveNext, MovePrevious, MoveFirstve ) bulunur. Listedeki son satır özelliği kullanılarak Count belirlenir.

void GetBindingManagerBase()
{
   
   /* CustomersToOrders is the RelationName of a DataRelation. 
      Therefore, the list maintained by the BindingManagerBase is the
      list of orders that belong to a specific customer in the 
      DataTable named Customers, found in DataSet1. */
   myBindingManagerBase = this->BindingContext[DataSet1, "Customers.CustomersToOrders"];
   
   // Adds delegates to the CurrentChanged and PositionChanged events.
   myBindingManagerBase->PositionChanged += gcnew EventHandler( this, &Form1::BindingManagerBase_PositionChanged );
   myBindingManagerBase->CurrentChanged += gcnew EventHandler( this, &Form1::BindingManagerBase_CurrentChanged );
}

void BindingManagerBase_PositionChanged( Object^ sender, EventArgs^ /*e*/ )
{
   
   // Prints the new Position of the BindingManagerBase.
   Console::Write( "Position Changed: " );
   Console::WriteLine( (dynamic_cast<BindingManagerBase^>(sender))->Position );
}

void BindingManagerBase_CurrentChanged( Object^ sender, EventArgs^ /*e*/ )
{
   
   // Prints the new value of the current object.
   Console::Write( "Current Changed: " );
   Console::WriteLine( (dynamic_cast<BindingManagerBase^>(sender))->Current );
}

void MoveNext()
{
   
   // Increments the Position property value by one.
   myBindingManagerBase->Position = myBindingManagerBase->Position + 1;
}

void MovePrevious()
{
   
   // Decrements the Position property value by one.
   myBindingManagerBase->Position = myBindingManagerBase->Position - 1;
}

void MoveFirst()
{
   
   // Goes to the first row in the list.
   myBindingManagerBase->Position = 0;
}

void MoveLast()
{
   
   // Goes to the last row in the list.
   myBindingManagerBase->Position = myBindingManagerBase->Count - 1;
}
private void GetBindingManagerBase()
{
   /* CustomersToOrders is the RelationName of a DataRelation. 
   Therefore, the list maintained by the BindingManagerBase is the
   list of orders that belong to a specific customer in the 
   DataTable named Customers, found in DataSet1. */
   myBindingManagerBase = 
   this.BindingContext[DataSet1, "Customers.CustomersToOrders"];

   // Adds delegates to the CurrentChanged and PositionChanged events.
   myBindingManagerBase.PositionChanged += 
   new EventHandler(BindingManagerBase_PositionChanged);
   myBindingManagerBase.CurrentChanged +=
   new EventHandler(BindingManagerBase_CurrentChanged);
}

private void BindingManagerBase_PositionChanged
(object sender, EventArgs e)
{
   // Prints the new Position of the BindingManagerBase.
   Console.Write("Position Changed: ");
   Console.WriteLine(((BindingManagerBase)sender).Position);
}

private void BindingManagerBase_CurrentChanged
(object sender, EventArgs e)
{
   // Prints the new value of the current object.
   Console.Write("Current Changed: ");
   Console.WriteLine(((BindingManagerBase)sender).Current);
}

private void MoveNext()
{
   // Increments the Position property value by one.
   myBindingManagerBase.Position += 1;
}

private void MovePrevious()
{
   // Decrements the Position property value by one.
   myBindingManagerBase.Position -= 1;
}

private void MoveFirst()
{
   // Goes to the first row in the list.
   myBindingManagerBase.Position = 0;
}

private void MoveLast()
{
   // Goes to the last row in the list.
   myBindingManagerBase.Position = 
   myBindingManagerBase.Count - 1;
}
Private Sub GetBindingManagerBase
   ' CustomersToOrders is the RelationName of a DataRelation.
   ' Therefore, the list maintained by the BindingManagerBase is the
   ' list of orders that belong to a specific customer in the
   ' DataTable named Customers, found in DataSet.
   myBindingManagerBase = Me.BindingContext(DataSet1, _
   "Customers.CustomersToOrders")

   ' Adds delegates to the CurrentChanged and PositionChanged events.
   AddHandler myBindingManagerBase.PositionChanged, _
   AddressOf BindingManagerBase_PositionChanged
   AddHandler myBindingManagerBase.CurrentChanged, _
   AddressOf BindingManagerBase_CurrentChanged
End Sub

Private Sub BindingManagerBase_PositionChanged _
(sender As Object, e As EventArgs)

   ' Prints the new Position of the BindingManagerBase.
   Console.Write("Position Changed: ")
   Console.WriteLine(CType(sender, BindingManagerBase).Position)
End Sub

Private Sub BindingManagerBase_CurrentChanged _
(sender As Object, e As EventArgs)

   ' Prints the new value of the current object.
   Console.Write("Current Changed: ")
   Console.WriteLine(CType(sender, BindingManagerBase).Current)
End Sub

Private Sub MoveNext
   ' Increments the Position property value by one.
   myBindingManagerBase.Position += 1
End Sub

Private Sub MovePrevious
   ' Decrements the Position property value by one.
   myBindingManagerBase.Position -= 1
End Sub

Private Sub MoveFirst
   ' Goes to the first row in the list.
   myBindingManagerBase.Position = 0
End Sub

Private Sub MoveLast
   ' Goes to the last row in the list.
   myBindingManagerBase.Position = _
   myBindingManagerBase.Count - 1
End Sub

Açıklamalar

, BindingManagerBase aynı veri kaynağına bağlı bir Windows Formunda veriye bağlı denetimlerin eşitlenmesini sağlar. (Bir denetimi veri kaynağına bağlama hakkında daha fazla bilgi için sınıfına Binding bakın.) Örneğin, bir formun aynı veri kaynağına ancak farklı sütunlara bağlı iki TextBox denetim içerdiğini varsayalım. Veri kaynağı, müşteri adlarını içeren bir DataTable kaynak olabilirken, sütunlar ad ve soyadlarını içerebilir. Aynı müşteri için doğru ad ve soyadların birlikte görüntülenmesi için iki denetimin eşitlenmesi gerekir. CurrencyManagersınıfından devralınan öğesi, veri kaynağındaki BindingManagerBase geçerli öğeye yönelik bir işaretçi tutarak bu eşitlemeyi gerçekleştirir. Denetimler TextBox geçerli öğeye bağlı olduğundan, aynı satıra ait bilgileri görüntüler. Geçerli öğe değiştiğinde CurrencyManager , tüm ilişkili denetimleri bilgilendirerek verilerini yenileyebilmelerini sağlar. Ayrıca, özelliğini denetimlerin Position işaret olduğu satırda DataTable belirtecek şekilde ayarlayabilirsiniz. Veri kaynağında kaç satır olduğunu belirlemek için özelliğini kullanın Count .

CurrencyManager veri kaynaklarının bir geçerli öğe işaretçisi tutmaması nedeniyle gereklidir. Örneğin, diziler ve ArrayList nesneler veri kaynakları olabilir, ancak geçerli öğeyi döndüren bir özelliği yoktur. Geçerli öğeyi almak için özelliğini kullanın Current .

PropertyManager ayrıca öğesinden BindingManagerBasedevralınır ve bir veri kaynağındaki geçerli nesnenin özelliği yerine bir nesnenin geçerli özelliğini korumak için kullanılır. Bu nedenle, için veya Count özelliğini PropertyManager ayarlamaya Position çalışmak hiçbir etkisi olmaz.

oluşturmak BindingManagerBaseiçin, yönetilen veri kaynağına bağlı olarak veya CurrencyManagerPropertyManagerdöndüren sınıfını kullanınBindingContext.

Çözüm programcıların denetimleri doğrudan bir BindingSource bileşene bağlaması teşvik edilir. Bu bileşen, gerçek hedef veri kaynağına hem veri kaynağı hem de veri bağlayıcısı işlevi görür. BindingSource denetim ile hedefi arasındaki para birimini yönetmek de dahil olmak üzere hem basit hem de karmaşık veri bağlamayı büyük ölçüde basitleştirir.

Uygulayanlara Notlar

'den BindingManagerBasedevraldığınızda, şu soyut üyeleri geçersiz kılmalısınız: AddNew(), Count, CancelCurrentEdit(), Current, EndCurrentEdit(), , GetItemProperties(), OnCurrentChanged(EventArgs), Position, RemoveAt(Int32), , ResumeBinding(), SuspendBinding()ve UpdateIsBinding().

Oluşturucular

BindingManagerBase()

BindingManagerBase sınıfının yeni bir örneğini başlatır.

Alanlar

onCurrentChangedHandler

Olay için olay işleyicisini CurrentChanged belirtir.

onPositionChangedHandler

Olay için olay işleyicisini PositionChanged belirtir.

Özellikler

Bindings

Yönetilen bağlama koleksiyonunu alır.

Count

Türetilmiş bir sınıfta geçersiz kılındığında, tarafından BindingManagerBaseyönetilen satır sayısını alır.

Current

Türetilmiş bir sınıfta geçersiz kılındığında geçerli nesneyi alır.

IsBindingSuspended

Bağlamanın askıya alınıp alınmadığını belirten bir değer alır.

Position

Türetilmiş bir sınıfta geçersiz kılındığında, temel alınan listede bu veri kaynağı noktasına bağlı olan konumu alır veya ayarlar.

Yöntemler

AddNew()

Türetilmiş bir sınıfta geçersiz kılındığında, temel alınan listeye yeni bir öğe ekler.

CancelCurrentEdit()

Türetilmiş bir sınıfta geçersiz kılındığında geçerli düzenlemeyi iptal eder.

EndCurrentEdit()

Türetilmiş bir sınıfta geçersiz kılındığında geçerli düzenleme sona erer.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetItemProperties()

Türetilmiş bir sınıfta geçersiz kılındığında, bağlama için özellik tanımlayıcıları koleksiyonunu alır.

GetItemProperties(ArrayList, ArrayList)

Belirtilen ArrayListkullanarak bağlama için özellik tanımlayıcıları koleksiyonunu alır.

GetItemProperties(Type, Int32, ArrayList, ArrayList)

Bu BindingManagerBasetarafından yönetilen öğelerin özelliklerinin listesini alır.

GetListName(ArrayList)

Türetilmiş bir sınıfta geçersiz kılındığında, bağlama için verileri sağlayan listenin adını alır.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnBindingComplete(BindingCompleteEventArgs)

Olayı tetikler BindingComplete .

OnCurrentChanged(EventArgs)

Olayı tetikler CurrentChanged .

OnCurrentItemChanged(EventArgs)

Olayı tetikler CurrentItemChanged .

OnDataError(Exception)

Olayı tetikler DataError .

PullData()

Veriye bağlı denetimden veri kaynağına veri çeker ve hiçbir bilgi döndürmez.

PushData()

Veri kaynağındaki verileri veriye bağlı denetime göndererek hiçbir bilgi döndürmez.

RemoveAt(Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen dizindeki satırı temel alınan listeden siler.

ResumeBinding()

Türetilmiş bir sınıfta geçersiz kılındığında, veri bağlamayı sürdürür.

SuspendBinding()

Türetilmiş bir sınıfta geçersiz kılındığında, veri bağlamayı askıya alır.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
UpdateIsBinding()

Türetilmiş bir sınıfta geçersiz kılındığında bağlamayı güncelleştirir.

Ekinlikler

BindingComplete

Veri bağlama işlemi tamamlandığında gerçekleşir.

CurrentChanged

Şu anda bağlı olan öğe değiştiğinde gerçekleşir.

CurrentItemChanged

Şu anda bağlı olan öğenin durumu değiştiğinde gerçekleşir.

DataError

, Exception tarafından BindingManagerBasesessizce işlendiğinde gerçekleşir.

PositionChanged

Özelliğin Position değeri değiştirildikten sonra gerçekleşir.

Şunlara uygulanır

Ayrıca bkz.