BindingManagerBase Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 MoveLast
listedeki ilk veya son satıra ayarlayan Position dört yöntem (MoveNext
, MovePrevious
, MoveFirst
ve ) 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. |