|
code
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
dropdownlist, textbox in datagrid dropdownlist_selectedindexchange eventI'm using vs.net 2003. I have a dropdownlist inside a datagrid. I would like to be able to select a value from the dropdownlist and then have a textbox which is also inside the datagrid filled with that value. I'm calling OnSelectedIndexChanged="ddlGridMonth_SelectedIndexChanged" event when an item from the dropdownlist is selected I'm not sure of the code I should be using for this event. Right now I'm trying something like this: Dim ddl As DropDownList = CType(sender, DropDownList) Dim dg As DataGrid = Me.FindControl("dgMonthlyReports") ' not getting anything in this textbox (nothing) Dim txt As TextBox = CType(dg.FindControl("ReportMonth"), TextBox) ' getting value from dropdownlist Dim ddlValue As Integer = ddl.SelectedItem.Value ' not getting value here because it doesn't seem to know about the textbox Dim TextValue As String = txt.Text If ddlValue <> 0 Then txt.Text = ddlValue End If I'm getting the value of the dropdownlist, but not the textbox and then I need to see if the dropdownlist value is something other then 0 and if so write the value to the textbox. Thanks, CindyH Hi,
you probably mean something like this Dim ddl As DropDownList = CType(sender, DropDownList) 'NOTE THIS LINE Dim gridItem As DataGridItem = CType(ddl.NamingContainer, DataGridItem) Dim txt As TextBox = CType(gridItem.FindControl("ReportMonth"), TextBox) Dim ddlValue As Integer = ddl.SelectedItem.Value Dim TextValue As String = txt.Text Point is NamingContainer of DroPDownList returns the DataGridItem which represents the row the DDL is on. So running FindControl to this, will get you controls on the same row I've exlained this in a blog post: Understanding the naming container hierarchy of ASP.NET databound controls http://aspadvice.com/blogs/joteke/archive/2007/02/25/Understanding-the-naming-container-hierarchy-of-ASP.NET-databound-controls.aspx - Teemu Keiski AspInsider, ASP.NET MVP http://blogs.aspadvice.com/joteke http://teemukeiski.net Show quote > > Dim dg As DataGrid = Me.FindControl("dgMonthlyReports") > > ' not getting anything in this textbox (nothing) > > Dim txt As TextBox = CType(dg.FindControl("ReportMonth"), TextBox) > > ' getting value from dropdownlist > > Dim ddlValue As Integer = ddl.SelectedItem.Value > > ' not getting value here because it doesn't seem to know about the textbox > > Dim TextValue As String = txt.Text "CindyH" <chensc***@new.rr.com> wrote in message news:%23nU6e6k7HHA.4304@TK2MSFTNGP03.phx.gbl... > Hi > I'm using vs.net 2003. > I have a dropdownlist inside a datagrid. > I would like to be able to select a value from the dropdownlist and then > have a textbox which is also inside the datagrid filled with that value. > > I'm calling OnSelectedIndexChanged="ddlGridMonth_SelectedIndexChanged" > event > when an item from the dropdownlist is selected > > I'm not sure of the code I should be using for this event. > Right now I'm trying something like this: > > > Dim ddl As DropDownList = CType(sender, DropDownList) > > Dim dg As DataGrid = Me.FindControl("dgMonthlyReports") > > ' not getting anything in this textbox (nothing) > > Dim txt As TextBox = CType(dg.FindControl("ReportMonth"), TextBox) > > ' getting value from dropdownlist > > Dim ddlValue As Integer = ddl.SelectedItem.Value > > ' not getting value here because it doesn't seem to know about the textbox > > Dim TextValue As String = txt.Text > > If ddlValue <> 0 Then > > txt.Text = ddlValue > > End If > > > I'm getting the value of the dropdownlist, but not the textbox and then I > need to see if the dropdownlist value is something other then 0 and if so > write the value to the textbox. > > Thanks, > > CindyH > > |
|||||||||||||||||||||||