
AddHandler doesn't seem to work
Thanks Steve for your help with my problem.
I did manage to get the Status to fire on the event of textchange. :-))
But now, I am trying to pick second controls(dropdownlist), which is also being generated along with the textbox, with the textchange
How do i refer to the corresponding dropdown in the Sub Status?
AddHandler txtBox.TextChanged, AddressOf Me.Status
...................
Sub Status(ByVal s As Object, ByVal e As EventArgs)
Dim textbox As TextBox
textbox = CType(s, TextBox)
'Trying to pick the value of the corresponding dropdownlist and make a trip to the database
End Sub
it has to be done in the page_load event
I am recreating the event handlers, upon each postback.
Private Sub createControls()
Dim count As Integer = Me.NumberOfControls
Dim i As Integer
panelDoc.Controls.Add(New LiteralControl("<table border=0 cellpadding=3 cellspacing=3>"))
For i = 0 To count - 1 Step i + 1
Dim tx As TextBox = New TextBox()
Dim dd As DropDownList = New DropDownList()
tx.ID = "txdtn_" + i.ToString()
dd.ID = "ddJobCatDesc_" + i.ToString()
panelDoc.Controls.Add(New LiteralControl("<tr>"))
panelDoc.Controls.Add(New LiteralControl("<td align='left' valign='top' class='text'>"))
panelDoc.Controls.Add(dd)
populate_JobCatDesc(dd)
panelDoc.Controls.Add(New LiteralControl("</td>"))
panelDoc.Controls.Add(New LiteralControl("<td align='right' valign='top' class='text'>Tracking Number</td>"))
panelDoc.Controls.Add(New LiteralControl("<td width='10'> </td>"))
panelDoc.Controls.Add(New LiteralControl("<td>"))
tx.Attributes("runat") = "server"
tx.Attributes("AutoPostBack") = "True"
tx.Attributes("EnableViewState") = "True"
AddHandler tx.TextChanged, AddressOf subChange ' - doesn't seem to work
panelDoc.Controls.Add(tx)
panelDoc.Controls.Add(New LiteralControl("</td>"))
panelDoc.Controls.Add(New LiteralControl("</tr>"))
Next
panelDoc.Controls.Add(New LiteralControl("</table>"))
End Sub
Public Sub subChange(ByVal obj As Object, ByVal e As EventArgs)
' How does one access the values in the textbox and the dropdown.
Response.Write(tx.Text)
End Sub
I don't know how do i pick the value of each of the textboxes in the subChange ?
If you create controls dynamically at runtime, you are expected to recreate them (including their event handlers) upon each postback.
--
I hope this helps,
Steve C. Orr, MCSD
http://Steve.Orr.net
Hi,
I have been trying to get this working. The event is a textchange on textboxes generated on the fly.
I am generating a textbox with a corresponding dropdown in this sub
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
tx.ID = "txdtn_" + NumberOfControls.ToString()
dd.ID = "ddJobCatDesc_" + NumberOfControls.ToString()
panelDoc.Controls.Add(New LiteralControl("<table border=0 cellpadding=3 cellspacing=3>"))
panelDoc.Controls.Add(New LiteralControl("<tr>"))
panelDoc.Controls.Add(New LiteralControl("<td align='left' valign='top' class='text'>"))
panelDoc.Controls.Add(dd)
populate_JobCatDesc(dd)
panelDoc.Controls.Add(New LiteralControl("</td>"))
panelDoc.Controls.Add(New LiteralControl("<td align='right' valign='top' class='text'>Tracking Number</td>"))
panelDoc.Controls.Add(New LiteralControl("<td width='10'> </td>"))
panelDoc.Controls.Add(New LiteralControl("<td>"))
tx.Attributes("runat") = "server"
tx.Attributes("AutoPostBack") = "True"
tx.Attributes("EnableViewState") = True
AddHandler tx.TextChanged, AddressOf subChange ' - doesn't seem to work
panelDoc.Controls.Add(tx)
panelDoc.Controls.Add(New LiteralControl("</td>"))
panelDoc.Controls.Add(New LiteralControl("</tr>"))
panelDoc.Controls.Add(New LiteralControl("</table>"))
Me.NumberOfControls = Me.NumberOfControls + 1
End Sub
Public Sub subChange(ByVal obj As Object, ByVal e As EventArgs)
' How does one access the values in the textbox and the dropdown.
Response.Write(tx.Text)
End Sub
In this,
On text change, i want to check it against the dB.
--
Thank You,
Sean