all groups > dotnet windows forms > january 2005 >
You're in the

dotnet windows forms

group:

Binding.Format event with ComboBox


Binding.Format event with ComboBox Kyle Baley
1/31/2005 8:57:03 AM
dotnet windows forms:
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
Re: Binding.Format event with ComboBox Tom Krueger [MSFT]
2/7/2005 5:13:37 PM

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.

--
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.

[quoted text, click to view]

Re: Binding.Format event with ComboBox kaborka
4/26/2005 10:48:03 AM
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?

[quoted text, click to view]
AddThis Social Bookmark Button