Home All Groups Group Topic Archive Search About

ByVal sender As Object, ByVal e As EventArgs - can I send more?

Author
22 Jul 2005 4:08 PM
David Lozzi
I have the following drop down list:

<asp:DropDownList id="ddDept" runat="server" DataSource='<%#
LoadDropDown("DEPT") %>' DataTextField="strName" DataValueField="strName"
AutoPostBack="True"
OnSelectedIndexChanged="UpdateText('txtDepartment')"></asp:DropDownList>

and on change I would like the value of the drop down to populate a text
box. Here's the function:

    Sub UpdateText(ByVal sender As Object, ByVal e As EventArgs, ByVal txt
As String)
        Dim dd As DropDownList = sender
        Dim tx as TextBox
        tx = dd.Parent.FindControl(txt)
        'tx = dd.Parent.FindControl("txtDepartment")
        If dd.SelectedIndex > 0 Then
            tx.Text = dd.SelectedValue
        End If
    End Sub

Now, i just added the references to tx as textbox and that's where I get the
issues. If I remove that and uncomment the line that finds the control it
works great! However, I have several drop downs that I want to use this
function with so I don't want to make several of the same functions.

Is there a way to send data to a Sub/function from the drop down and keep
the sender object? Is there a way to send the drop down object and another
variable to the sub/function? Something like this in Javascript works:
onchange="UpdateText(this,'txtDepartment')". Of course I don't want to use
javascript, I want it all done in the code.

Thanks!

David Lozzi

Author
22 Jul 2005 4:26 PM
David Lozzi
Is it possible to do something like this instead?

OnSelectedIndexChanged="UpdateText(txtDepartment,ddDept)"

Function UpdateText(ByVal txt As TextBox, ByVal ddl As DropDownList)



If ddl.SelectedIndex > 0 Then

txt.Text = ddl.SelectedValue

End If

End Function


Currently, i get this error:

'AddressOf' operand must be the name of a method; no parentheses are needed


thanks!


Show quoteHide quote
"David Lozzi" <dlozzi@(removethis)delphi-ts.com> wrote in message
news:eLXBeetjFHA.2852@TK2MSFTNGP15.phx.gbl...
>I have the following drop down list:
>
> <asp:DropDownList id="ddDept" runat="server" DataSource='<%#
> LoadDropDown("DEPT") %>' DataTextField="strName" DataValueField="strName"
> AutoPostBack="True"
> OnSelectedIndexChanged="UpdateText('txtDepartment')"></asp:DropDownList>
>
> and on change I would like the value of the drop down to populate a text
> box. Here's the function:
>
>    Sub UpdateText(ByVal sender As Object, ByVal e As EventArgs, ByVal txt
> As String)
>        Dim dd As DropDownList = sender
>        Dim tx as TextBox
>        tx = dd.Parent.FindControl(txt)
>        'tx = dd.Parent.FindControl("txtDepartment")
>        If dd.SelectedIndex > 0 Then
>            tx.Text = dd.SelectedValue
>        End If
>    End Sub
>
> Now, i just added the references to tx as textbox and that's where I get
> the issues. If I remove that and uncomment the line that finds the control
> it works great! However, I have several drop downs that I want to use this
> function with so I don't want to make several of the same functions.
>
> Is there a way to send data to a Sub/function from the drop down and keep
> the sender object? Is there a way to send the drop down object and another
> variable to the sub/function? Something like this in Javascript works:
> onchange="UpdateText(this,'txtDepartment')". Of course I don't want to use
> javascript, I want it all done in the code.
>
> Thanks!
>
> David Lozzi
>
>
Author
22 Jul 2005 5:19 PM
Harolds
Sub ddl_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
handles ddlA.SelectedIndexChanged, ddlB.SelectedIndexChanged,
ddlC.SelectedIndexChanged
dim txt as textbox
If ctype(sender,DropDownList).SelectedIndex > 0 Then
select case ctype(sender,DropDownList).id
case "ddlA"
txt = findcontrol("txtA")
case "ddlB"
txt = findcontrol("txtB")
case "ddlC"
txt = findcontrol("txtC")
end select
txt.text = sender.selectvalue
end if



Show quoteHide quote
"David Lozzi" wrote:

> Is it possible to do something like this instead?
>
> OnSelectedIndexChanged="UpdateText(txtDepartment,ddDept)"
>
> Function UpdateText(ByVal txt As TextBox, ByVal ddl As DropDownList)
>
>
>
> If ddl.SelectedIndex > 0 Then
>
> txt.Text = ddl.SelectedValue
>
> End If
>
> End Function
>
>
> Currently, i get this error:
>
> 'AddressOf' operand must be the name of a method; no parentheses are needed
>
>
> thanks!
>
>
> "David Lozzi" <dlozzi@(removethis)delphi-ts.com> wrote in message
> news:eLXBeetjFHA.2852@TK2MSFTNGP15.phx.gbl...
> >I have the following drop down list:
> >
> > <asp:DropDownList id="ddDept" runat="server" DataSource='<%#
> > LoadDropDown("DEPT") %>' DataTextField="strName" DataValueField="strName"
> > AutoPostBack="True"
> > OnSelectedIndexChanged="UpdateText('txtDepartment')"></asp:DropDownList>
> >
> > and on change I would like the value of the drop down to populate a text
> > box. Here's the function:
> >
> >    Sub UpdateText(ByVal sender As Object, ByVal e As EventArgs, ByVal txt
> > As String)
> >        Dim dd As DropDownList = sender
> >        Dim tx as TextBox
> >        tx = dd.Parent.FindControl(txt)
> >        'tx = dd.Parent.FindControl("txtDepartment")
> >        If dd.SelectedIndex > 0 Then
> >            tx.Text = dd.SelectedValue
> >        End If
> >    End Sub
> >
> > Now, i just added the references to tx as textbox and that's where I get
> > the issues. If I remove that and uncomment the line that finds the control
> > it works great! However, I have several drop downs that I want to use this
> > function with so I don't want to make several of the same functions.
> >
> > Is there a way to send data to a Sub/function from the drop down and keep
> > the sender object? Is there a way to send the drop down object and another
> > variable to the sub/function? Something like this in Javascript works:
> > onchange="UpdateText(this,'txtDepartment')". Of course I don't want to use
> > javascript, I want it all done in the code.
> >
> > Thanks!
> >
> > David Lozzi
> >
> >
>
>
>