Hi - I'm trying to loop through the textboxes on a page to unlock them for
editing. The Enabled property is set to false, and the following code is on
an 'Edit' button on the form. Can anyone tell me why it doesn't work?
Thanks
Nick.
Code:
Dim frmCtrl As Control
For Each frmCtrl In Me.Controls
If TypeOf frmCtrl Is System.Web.UI.WebControls.TextBox Then
Dim textbox As System.Web.UI.WebControls.TextBox = frmCtrl
textbox.Enabled = True
End If
NextIn data Thu, 1 Jul 2004 16:39:38 +0100, Nick ha scritto:
> Hi - I'm trying to loop through the textboxes on a page to unlock them for
> editing. The Enabled property is set to false, and the following code is o
n
> an 'Edit' button on the form. Can anyone tell me why it doesn't work?
> Thanks
> Nick.
>
> Code:
> Dim frmCtrl As Control
> For Each frmCtrl In Me.Controls
> If TypeOf frmCtrl Is System.Web.UI.WebControls.TextBox Then
> Dim textbox As System.Web.UI.WebControls.TextBox = frmCtrl
> textbox.Enabled = True
> End If
> Next
Why instead of this:
Dim textbox As System.Web.UI.WebControls.TextBox = frmCtrl
textbox.Enabled = True
you don't use this:
DirectCast(frmCtrl, System.Web.UI.WebControls.TextBox).Enabled = True
?
Hi - I tried changing the code - but same result. Code runs fine with no
errors, but doesn't enable the textboxes.
Does the postback change them back to enabled=false as that is the default
setting in the IDE'
Nick
"Crosta" <Crosta@.Crosta.Crosta> wrote in message
news:whs2vuwk073s.50803p8cbilc$.dlg@.40tude.net...
> In data Thu, 1 Jul 2004 16:39:38 +0100, Nick ha scritto:
>
> Why instead of this:
> Dim textbox As System.Web.UI.WebControls.TextBox = frmCtrl
> textbox.Enabled = True
> you don't use this:
> DirectCast(frmCtrl, System.Web.UI.WebControls.TextBox).Enabled = True
> ?
I think I knew what you need.
I was having the same problem last time, for each control loop work in
windows form but not web form. In web forms, you need to use a recursive
function to search thru all the levels. I'm not very sure how to explain it,
I will post a code that hope can help you here.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
EnableTextboxes(Controls)
End Sub
Private Sub EnableTextboxes(ByVal col As ControlCollection)
If (col Is Nothing) Then
Return
End If
Dim c As Control
For Each c In col
If TypeOf c Is TextBox Then
CType(c, TextBox).Enabled = True
End If
ChangeTextboxes(c.Controls)
Next
End Sub
With this recursive function, it will search thru all levels of object, eg:
the texbox is inside a panel, a panel is inside a form
if you don't use recursive function, you only get those textboxes in the
form but not the panel.
HTH,
Tee
"Nick" <Nick@.NTWorks.no.spam.fsnet.co.uk> wrote in message
news:egrCis4XEHA.1152@.TK2MSFTNGP09.phx.gbl...
> Hi - I tried changing the code - but same result. Code runs fine with no
> errors, but doesn't enable the textboxes.
> Does the postback change them back to enabled=false as that is the default
> setting in the IDE'
> Nick
> "Crosta" <Crosta@.Crosta.Crosta> wrote in message
> news:whs2vuwk073s.50803p8cbilc$.dlg@.40tude.net...
>
Thanks - that was exactly what I was looking for!
Nick
"Tee" <thy@.streamyx.com> wrote in message
news:%23G8kYp5XEHA.2344@.TK2MSFTNGP11.phx.gbl...
> I think I knew what you need.
> I was having the same problem last time, for each control loop work in
> windows form but not web form. In web forms, you need to use a recursive
> function to search thru all the levels. I'm not very sure how to explain
it,
> I will post a code that hope can help you here.
>
> Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
> System.EventArgs) Handles Button1.Click
> EnableTextboxes(Controls)
> End Sub
>
> Private Sub EnableTextboxes(ByVal col As ControlCollection)
> If (col Is Nothing) Then
> Return
> End If
> Dim c As Control
> For Each c In col
> If TypeOf c Is TextBox Then
> CType(c, TextBox).Enabled = True
> End If
> ChangeTextboxes(c.Controls)
> Next
> End Sub
>
> With this recursive function, it will search thru all levels of object,
eg:
> the texbox is inside a panel, a panel is inside a form
> if you don't use recursive function, you only get those textboxes in the
> form but not the panel.
>
> HTH,
> Tee
>
0 comments:
Post a Comment