I'm binding a ComboBox's SelectedValue property to a datasource and using a
custom Format event. The problem is that the format event never fires. Here's
some sample code that demonstrates this (create a form with a combobox on it):
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim t As DataTable = New DataTable
t.Columns.Add(New DataColumn("ID",
System.Type.GetType("System.Int32")))
t.Columns.Add(New DataColumn("Name",
System.Type.GetType("System.String")))
t.Rows.Add(New Object() {1, "One"})
t.Rows.Add(New Object() {2, "Two"})
t.Rows.Add(New Object() {3, "Three"})
ComboBox1.DataSource = t
ComboBox1.DisplayMember = "Name"
ComboBox1.ValueMember = "ID"
getBinding()
End Sub
Public Sub getBinding()
Dim t As DataTable = New DataTable
t.Columns.Add("EntityID", System.Type.GetType("System.String"))
t.Columns.Add("NumberID", System.Type.GetType("System.Int32"))
t.Rows.Add(New Object() {"123", 2})
Dim b As Binding = New Binding("SelectedValue", t, "NumberID")
AddHandler b.Format, AddressOf Format_Event
ComboBox1.DataBindings.Add(b)
End Sub
Private Sub Format_Event(ByVal sender As Object, ByVal e As
ConvertEventArgs)
MsgBox("Moo")
End Sub
As it standards, Format_Event will never run (although the combobox is
properly bound and it's value is set to 2). Also note that if you change the
binding so that it binds to the SelectedIndex property, the Format event
fires as expected.
So the question is, why doesn't the Format event fire when I add a binding
to a ComboBox's SelectedValue property?
Apologies if this has been answered already. I've found similar questions
asked on various newsgroups but haven't seen any solutions.
Tom Krueger [MSFT] - 08 Feb 2005 01:13 GMT
I'm looking into this. I did find that the SelectedValue Binding does fire
when the control loses focus, but it does not fire when an item is selected.
So that confirms your findings, I don't know if it will be possible or not.

Signature
Tom Krueger
My Blog - http://weblogs.asp.net/tom_krueger
Smart Client DevCenter - http://msdn.microsoft.com/smartclient/
Mobile DevCenter - http://msdn.microsoft.com/mobility
This posting is provided "as is" with no warranties and confers no rights.
> I'm binding a ComboBox's SelectedValue property to a datasource and using
> a
[quoted text clipped - 52 lines]
> Apologies if this has been answered already. I've found similar questions
> asked on various newsgroups but haven't seen any solutions.
kaborka - 26 Apr 2005 18:48 GMT
Attn Tom: Did you ever follow up on this. I also tried to use Format and
Parse on the SelectedValue binding of a ComboBox to convert between DBNull
and a default value. The Format event would not be fired when the form was
populated from the db.
At dotnet247 website, I saw a post from "Ying-Shen Yu [MSFT] Microsoft
community Support" stating Format is not supported for a ComboBox in .NET
v1.1. (See:
http://www.dotnet247.com/247reference/msgs/46/233079.aspx). Is there any fix?
> I'm looking into this. I did find that the SelectedValue Binding does fire
> when the control loses focus, but it does not fire when an item is selected.
[quoted text clipped - 56 lines]
> > Apologies if this has been answered already. I've found similar questions
> > asked on various newsgroups but haven't seen any solutions.