vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Controls · UserControl   |   VB-Versionen: VB620.04.05
DataBindings im UserControl

Wie man die Data-Eigenschaften im eigenen UserControl zur Verfügung stellen kann...

Autor:   Roland WutzkeBewertung:     [ Jetzt bewerten ]Views:  13.379 
www.vb-power.netSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11kein Beispielprojekt 

Sicherlich kennen Sie alle die Data-Eigenschaften einer Textbox, an der Sie ein beliebiges DataControl binden können, um so Zugriff auf eine Datenbank nehmen zu können.

Nun folgende Ausgangssituation:
Sie erstellen gerade Ihre eigenes UserControl mit einer TextBox - und dieses UserControl soll nun genau diese Eigenschaften zur Verfügung stellen. Naja, kein Problem könnte man meinen. Nehmen wir einfach den ActiveX-Schnittstellen-Assistenten und fügen diese Eigenschaften hinzu. Doch in der Eigenschaften Auflistung fehlt schon mal die DataField Eigenschaft. Also fügen wir diese Eigenschaft im nächsten Schritt manuell hinzu. Doch weit gefehlt, denn der Assistent verweigert hier gnadenlos seine Arbeit mit der Meldung „Der von Ihnen erstellte Mitgliedsname wird bereits vom Extender-Objekt verwendet".

Die Lösung liegt in den Prozedurattributen!

Damit wir nun die Data-Eigenschaften nutzen können, müssen Sie im ersten Schritt eine beliebige Eigenschaft vom Type String anlegen. Für unser Beispiel benennen wir die Eigenschaft cField. Nachdem Sie nun die Eigenschaft erzeugt haben, gehen Sie zu den Prozedurattributen im Menü "Extras" und wählen unter "Name" die Eigenschaft aus. Aktivieren Sie nun die Attribute und Datenbindungen wie in der Darstellung angezeigt.

Siehe da - wenn wir nun unser UserControl auf eine Form ziehen, steht dem Entwickler ab sofort die Data-Eigenschaften zur Verfügung. Doch es fehlt noch ein wenig Code im UserControl, damit das Ganze auch richtig funktioniert. Für unser Beispiel benötigen wir weiterhin noch eine TextBox (Text1) im UserControl. Fügen Sie jetzt den folgenden Code in das Codefenster des UserControls:

' ***************************************************
' *
' *   DataBindings im UserControl
' *
' *   Aktivieren Sie in den Prozedurattributen für
' *   "cField" folgende Eigenschaften:
' *   - Im Eigenschafenkatalog nicht anzeigen
' *   - Datengebundene Eigenschaft
' *     - An Daten-Feld gebunden
' *     - CanPropertyChange vor Änderung aufrufen
' *     - Sofort aktualisieren
' *
' *   April 2005, VB-Power.net   www.vb-power.net
' *
' ***************************************************
 
Option Explicit
 
Private Const m_def_cField As String = ""
 
Dim m_cField As String
Dim isChange As Boolean
Private Sub Text1_Change()
  isChange = True
End Sub
 
Private Sub Text1_Validate(Cancel As Boolean)
  If isChange Then
    PropertyChanged "cField"
    isChange = False
  End If
End Sub
' Eigenschaften für Benutzersteuerelement initialisieren
Private Sub UserControl_InitProperties()
  m_cField = m_def_cField
End Sub
 
' Eigenschaftenwerte vom Speicher laden
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
  m_cField = PropBag.ReadProperty("cField", m_def_cField)
End Sub
 
' Eigenschaftenwerte in den Speicher schreiben
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
  Call PropBag.WriteProperty("cField", m_cField, m_def_cField)
End Sub
Public Property Get cField() As String
  m_cField = Text1.Text
  cField = m_cField
End Property
 
Public Property Let cField(ByVal New_cField As String)
  m_cField = New_cField
  Text1.Text = New_cField
  PropertyChanged "cField"
End Property

Anmerkung: Die hier aufgezeigte Methode lässt sich ohne weiteres auch auf ein Label anwenden. Hierbei benötigen Sie noch nicht mal die Eigenschaft "cField". Sie können die Datenbindung direkt an die Eigenschaft "Caption" des Labels vornehmen, da das Label kein Datenfeld aktualisieren, sondern nur Anzeigen kann.

Viel Spaß mit den DataBindings
 

Dieser Tipp wurde bereits 13.379 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel