Private Sub CmCustomer_PositionChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles CmCustomer.PositionChanged
If CmCustomer.Position = -1 Then
Me.DisableDataControls(CmCustomer)
Else
Me.EnableDataControls(CmCustomer)
End If
End Sub
Private _controlEnabledState As Hashtable
Private Sub EnableDataControls(ByVal cm As CurrencyManager)
For Each b As Binding In cm.Bindings
EnableControl(b.Control)
Next
End Sub
Private Sub DisableDataControls(ByVal cm As CurrencyManager)
For Each b As Binding In cm.Bindings
DisableControl(b.Control)
Next
End Sub
Private Sub DisableControl(ByVal c As Control)
If (_controlEnabledState Is Nothing) Then
_controlEnabledState = New Hashtable
End If
If Not (_controlEnabledState.Contains(c)) Then
_controlEnabledState.Add(c, c.Enabled)
End If
If c.Enabled Then c.Enabled = False
End Sub
Private Sub EnableControl(ByVal c As Control)
If Not (_controlEnabledState Is Nothing) Then
If (_controlEnabledState.Contains(c)) Then
If Not c.Enabled Then c.Enabled =
DirectCast(_controlEnabledState(c), Boolean)
_controlEnabledState.Remove(c)
End If
End If
End Sub
Tuesday, December 14, 2004
Enable/Disable databound controls automatically
Here's an easy way to automatically enable/disable databound controls when the CurrencyManager's position changes from/to -1:
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment