Property missing value

S

shapper

Hello,

I have a control with the following property:

Private _Sections As New List(Of FormSection)
Public Property Sections() As List(Of FormSection)
Get
If _Sections Is Nothing Then
_Sections = New List(Of FormSection)
End If
Return _Sections
End Get
Set(ByVal value As List(Of FormSection))
_Sections = value
End Set
End Property

FormSection is another custom control. My control inherits from
CompositeControl and I implement it as follows:

Protected Overrides Sub CreateChildControls()
For Each section As FormSection In Me.Sections
MyBase.Controls.Add(section)
Next
MyBase.CreateChildControls()
End Sub

Finally I need to run a method from a child control in each section
when a Bubble event is caught:

Protected Overrides Function OnBubbleEvent(ByVal source As Object,
ByVal e As EventArgs) As Boolean

If TypeOf e Is CommandEventArgs Then

For Each section In Me.Sections
For Each field In section.Fields
If Not field.Validate Then

' Stop bubbling for EventArgs
Return True

End If
Next field
Next section
OnCommand(e)

End If

' Let bubbling run for non CommandEventArgs
Return False

End Function

The problem is that Me.Sections has no section in it so the loop does
not run.

But the sections are there! I added them and when I run the page I see
all them.

What am I doing wrong?

Thanks,

Miguel
 
K

Kevin Spencer

The OnBubbleEvent method is called prior to the CreateChildControls method
in the Control lifecycle.

--
HTH,

Kevin Spencer
Chicken Salad Surgeon
Microsoft MVP
 
S

shapper

The OnBubbleEvent method is called prior to the CreateChildControls method
in the Control lifecycle.

--
HTH,

Kevin Spencer
Chicken Salad Surgeon
Microsoft MVP

So there is no solution to this?
How is this usually done? Any idea?

Basically, I need to stop the event if the Section controls do not
validate ...

Thanks,
Miguel
 
B

bruce barker

in OnBubbleEvent, before accessing any child controls, call
EnsureChildControls().

-- bruce (sqlwork.com)
 
S

shapper

in OnBubbleEvent, before accessing any child controls, call
EnsureChildControls().

-- bruce (sqlwork.com)

I tried but it does not work.

Any idea?

Thanks,
Miguel
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top