Sorry - I did mean the binding source - not the BN...
But I gotta tell you - we are very, very happy with this trick.
We have the 4 radio buttons - which cannot be bound to a single field.
But - you can bind a textbox to that field - PHONEFLAG. And by simply tracking this TEXTCHANGED event the buttons always match the "textbox"
Code:
Private Sub PhoneFlag_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PhoneFlag.TextChanged
Select Case Me.PhoneFlag.Text
Case "H"
Me.PrimaryHome.Checked = True
Case "O"
Me.PrimaryOffice.Checked = True
Case "C"
Me.PrimaryCell.Checked = True
Case "OT"
Me.PrimaryOther.Checked = True
End Select
End Sub
Then changing a radio button only needs to do this (if you have the .Tag property of each radio button set to the "value" you want in the bound-textbox)
Code:
Private Sub PrimaryHome_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles PrimaryHome.CheckedChanged, PrimaryOffice.CheckedChanged _
, PrimaryCell.CheckedChanged, PrimaryOther.CheckedChanged
If TryCast(sender, RadioButton).Checked Then
Me.PhoneFlag.Text = TryCast(sender, RadioButton).Tag.ToString
End If
End Sub
PHONEFLAG is bound properly to the database - changes to the radio button are instantly reflected in the textbox. And also reflected on other forms that are bound to this data.
Very effortless.
Then when we are happy all is working we just make the TEXTBOX not visible.