Aracılığıyla paylaş


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 BindingContext kullanır. (Ö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, örnek özelliği artıran veya azalan dört yöntem (MoveNext, MovePrevious, MoveFirstve MoveLast) içerir ve öğesini listedeki ilk veya son satıra ayarlarPosition.Position 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 Formundaki veriye bağlı denetimlerin eşitlenmesini sağlar. (Basit 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 devralan , 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 bulundurması gerekmediğinden 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 .

ayrıca PropertyManager öğesinden BindingManagerBasedevralır ve bir veri kaynağındaki geçerli nesnenin özelliği yerine nesnenin geçerli özelliğini korumak için kullanılır. Bu nedenle, 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ı, denetimleri doğrudan bir BindingSource bileşene bağlamaları ve bu da gerçek hedef veri kaynağına hem veri kaynağı hem de veri bağlayıcısı işlevi görür. BindingSource hem basit hem de karmaşık veri bağlamayı büyük ölçüde basitleştirir ve denetim ile hedefi arasındaki para birimini yönetir.

Uygulayanlara Notlar

öğesinden 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

Name Description
BindingManagerBase()

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

Alanlar

Name Description
onCurrentChangedHandler

Olayın olay işleyicisini CurrentChanged belirtir.

onPositionChangedHandler

Olayın olay işleyicisini PositionChanged belirtir.

Özellikler

Name Description
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ı denetimlerin konumunu alır veya ayarlar.

Yöntemler

Name Description
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()

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

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

Geçerli Objectbasit 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()

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

PushData()

Veri kaynağından veri bağlama denetimine veri 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 bir dize 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

Name Description
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 değeri Position değiştirildikten sonra gerçekleşir.

Şunlara uygulanır

Ayrıca bkz.