This is a migrated thread and some comments may be shown as answers.

DropdownList Postback with RadGrid

2 Answers 241 Views
Grid
This is a migrated thread and some comments may be shown as answers.
william
Top achievements
Rank 1
william asked on 13 Nov 2010, 04:01 PM
Good day,

I have the following. I have a dropdownlist control in an Insert view mode. I need that my dropdownlist populates a pair of textbox controls from the database in the same view. I'm using the ddlEntityTypeFilter_SelectedIndexChanged event in order to do it. However I have got an error during the process since the Texbox control is returning a null value then I haven't been able to populate the texbox controls. Actually I need to populate Encargado2 and Email2 textbox controls.

Here is the aspx file:
<telerik:GridTemplateColumn  UniqueName="Nombre" DataField="Nombre" HeaderText="Nombre del Area"
             ForceExtractValue="InEditMode" ConvertEmptyStringToNull="true" >            
               <EditItemTemplate>   
                    <asp:DropDownList CssClass="dropdownlist" ID="ddlNombre" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlEntityTypeFilter_SelectedIndexChanged"></asp:DropDownList
                        <asp:Label ID="LabelNombre" runat="server" Text='<%#Eval("Nombre") %>'></asp:Label>                   
                </EditItemTemplate>
                    <ItemTemplate>
                    <asp:Label ID="LabelNombre" runat="server" Text='<%#Eval("Nombre") %>'></asp:Label>
                </ItemTemplate>
            </telerik:GridTemplateColumn
 
 <telerik:GridBoundColumn UniqueName="Encargado" DataField="Encargado" HeaderText="Encargado">
      </telerik:GridBoundColumn>
        <telerik:GridBoundColumn UniqueName="Email" DataField="Email" HeaderText="Email">
      </telerik:GridBoundColumn>
       
      <telerik:GridTemplateColumn  UniqueName="Encargado2" DataField="Encargado2" HeaderText="Encargado2"
             ForceExtractValue="InEditMode" ConvertEmptyStringToNull="true" Visible="false" >  
          <%--   <ItemTemplate>
                    <asp:Label ID="LabelEncargado2" runat="server" Text='<%#Eval("Encargado2") %>'></asp:Label>
                </ItemTemplate>--%>
                  <EditItemTemplate>   
                    <asp:TextBox  ID="TextBoxEncargado2" runat="server"></asp:TextBox
                        <asp:Label ID="LabelEncargado2" runat="server" Text='<%#Eval("Encargado2") %>'></asp:Label>                   
                </EditItemTemplate>
            </telerik:GridTemplateColumn
       
         <telerik:GridTemplateColumn  UniqueName="Email2" DataField="Email2" HeaderText="Email2"
             ForceExtractValue="InEditMode" ConvertEmptyStringToNull="true" Visible="false" >  
                <%--    <ItemTemplate>
                    <asp:Label ID="LabelEmail2" runat="server" Text='<%#Eval("Email2") %>' ></asp:Label>
                </ItemTemplate>--%>
                 <EditItemTemplate>   
                    <asp:TextBox  ID="TextBoxEmail2" runat="server"></asp:TextBox
                        <asp:Label ID="LabelEmail2" runat="server" Text='<%#Eval("Email2") %>'></asp:Label>                   
                </EditItemTemplate>
            </telerik:GridTemplateColumn>
And the code behind:
protected void ddlEntityTypeFilter_SelectedIndexChanged(object sender, EventArgs e)
{    
    DropDownList dropdown = (DropDownList)sender;
    string value = dropdown.SelectedValue;
    SpecialTablesController sp = new SpecialTablesController();
    GridEditFormInsertItem edititem = (GridEditFormInsertItem)dropdown.NamingContainer;
    TextBox TextBoxID = (TextBox)edititem.FindControl("Encargado2"); -> TextboxID is null     
    Dependencia obj = sp.GetDependencyValues(dropdown.SelectedValue);
    TextBoxID.Text = obj.Encargado;-> I got the error here NullReferenceException
    TextBoxID.Text = obj.EMail;      
 
}
Any suggestion?

Thanks in advance
William

2 Answers, 1 is accepted

Sort by
0
Accepted
Princy
Top achievements
Rank 2
answered on 15 Nov 2010, 05:33 AM
Hello William,

You need to use the ID of the TextBox (here it is TextBoxEncargado2) to access it from code behind.

C#:
protected void ddlEntityTypeFilter_SelectedIndexChanged(object sender, EventArgs e)
{   
    DropDownList dropdown = (DropDownList)sender;
    GridEditFormInsertItem edititem = (GridEditFormInsertItem)dropdown.NamingContainer;
    TextBox TextBoxID = (TextBox)edititem.FindControl("TextBoxEncargado2"); // accessing TextBox
}

Thanks,
Princy.
0
william
Top achievements
Rank 1
answered on 15 Nov 2010, 04:46 PM
Thanks a lot! It works.
Tags
Grid
Asked by
william
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
william
Top achievements
Rank 1
Share this question
or