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

Why can I not Find The Control

0 Answers 44 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Perry
Top achievements
Rank 1
Perry asked on 11 Jun 2018, 03:11 PM

I have a simple RadGrid with 2 columns. I have set AllowGenerateColumns to false but I am using the NeedData Source to populate the Grid.   One column is a Text box and the other is a dropdown list.  I have nor problems showing the Grid with the data and I can add new records.
Here is my ASPX code to for this Grid:

<telerik:RadGrid ID="gvOrgContacts" runat="server"
                                AutoGenerateColumns="false"
                                OnNeedDataSource="gvOrgContacts_NeedDataSource"
                                AllowSorting="true"
                                AllowPaging="false"
                                AllowAutomaticDeletes="true"
                                AllowFilteringByColumn="false"
                                OnItemCreated="gvOrgContacts_ItemCreated"
                                OnItemInserted="gvOrgContacts_ItemInserted"
                                OnPreRender="gvOrgContacts_PreRender"
                                OnInsertCommand="gvOrgContacts_InsertCommand"
                                OnItemDataBound="gvOrgContacts_ItemDataBound"
                                OnUpdateCommand="gvOrgContacts_UpdateCommand"
                                OnDeleteCommand="gvOrgContacts_DeleteCommand"
                                OnItemCommand="gvOrgContacts_ItemCommand"
                                Skin="Default"
                                Visible="false">
                                <HeaderStyle CssClass="GridHeader" />
                                <PagerStyle Mode="NextPrevNumericAndAdvanced" />
                                <MasterTableView AutoGenerateColumns="false" DataKeyNames="ContactID" CommandItemDisplay="Top" InsertItemPageIndexAction="ShowItemOnCurrentPage">
                                    <Columns>
                                        <telerik:GridEditCommandColumn></telerik:GridEditCommandColumn>
                                        <telerik:GridBoundColumn DataField="ContactID" HeaderText="ContactID" ReadOnly="true" UniqueName="ContactID" AllowFiltering="false"
                                            DataType="System.Int16" DefaultInsertValue="" Exportable="false" Visible="false">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn DataField="Contact" HeaderText="Contact" SortExpression="Contact" UniqueName="Contact"></telerik:GridBoundColumn>
                                        <telerik:GridTemplateColumn UniqueName="ContactTemplateColumn" HeaderText="Contact Type">
                                            <ItemTemplate>
                                                <asp:Label ID="Contact" runat="server"
                                                    Text='<%# DataBinder.Eval(Container.DataItem, "Contact") %>'>
                                                </asp:Label>
                                            </ItemTemplate>
                                            <EditItemTemplate>
                                                <asp:TextBox ID="txtContact" runat="server"></asp:TextBox>
                                            </EditItemTemplate>
                                            <EditItemTemplate>
                                                <asp:DropDownList ID="ddlContacts" runat="server" DataTextField="ContactType" DataValueField="ContactTypeID"></asp:DropDownList>
                                            </EditItemTemplate>
                                        </telerik:GridTemplateColumn>
                                        <telerik:GridButtonColumn ConfirmText="Delete this contact?" ConfirmDialogType="RadWindow"
                                            ConfirmTitle="Delete" ButtonType="ImageButton" ImageUrl="~/Images/filterCancel.gif" Text="Delete" CommandName="Delete" Exportable="false" />
                                    </Columns>
                                </MasterTableView>
                            </telerik:RadGrid>

 

And Here is my Code behind

protected void gvOrgContacts_UpdateCommand(object sender, GridCommandEventArgs e)
        {
            if (e.Item is GridEditableItem && e.Item.IsInEditMode)
            {
                GridEditableItem editedItem = e.Item as GridEditableItem;
                string contactID = editedItem.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["ContactID"].ToString();
                int intContactID = Convert.ToInt16(contactID);
 
                using (BackgroundInvEntities db = new BackgroundInvEntities())
                {
                    var results = db.T_Contacts.Where(a => a.ContactID == intContactID).ToList();
                    DropDownList ddlContact = (DropDownList)editedItem.FindControl("ddlContacts") as DropDownList;
                    int intContactType = Convert.ToInt32(ddlContact.SelectedValue);
                    TextBox txtContacts = (TextBox)editedItem.FindControl("txtContact") as TextBox;
                    string strContact = txtContacts.Text;
                     
                    results[0].ContactTypeID = intContactType;
                    results[0].Contact = strContact;
                    DbContext.SaveChanges();
                    gvOrgContacts.MasterTableView.ClearEditItems();
                    gvOrgContacts.Rebind();
 
                }
            }
 
             
        }

 

I can retrieve the selected value of the DropDownList but when the code line to set the value of the strContact runs I get an unhandled exception. "JavaScript runtime error: ObjectReference not set to an instance of an object.
When I inspect the TextBox txtContacts it does not show a web control it shows as null.

Any one have any ideas as to why this web control is not being found?

 

 

 

No answers yet. Maybe you can help?

Tags
Grid
Asked by
Perry
Top achievements
Rank 1
Share this question
or