Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
152 views
When I place the RadExplorer inside a TabPanel it doesn't seem to function properly, The right pane doesn't show the files properly until a refresh of the control is commited and the upload component works but does not upload anything.  If I take it out of the tabpanel everything functions as normal.  Any suggestions?
Thanks
Neville
Fiko
Telerik team
 answered on 17 May 2010
3 answers
218 views
Hello Telerik,

I am working on a project and I have used the Grid popup edit with UserControl as seen on the following link
everything works as expected I click on the edit button and a popup window opens and displays the user control but the data wont bind and I am at a loss to explain why.

How can I resolve this issue??

please find attached the code for xd_ViewContact and xd_EditContact

Cheers.

xd_ViewContact.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="xd_ViewContact.ascx.cs" 
    Inherits="xDynamics.Controls.View.xd_ViewContact" %> 
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %> 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
<script type="text/javascript"> 
    function RowSelected(row) { 
 
    } 
    function RowDblClick(sender, eventArgs) { 
        sender.get_masterTableView().editItem(eventArgs.get_itemIndexHierarchical()); 
    } 
</script> 
<div> 
    <telerik:RadGrid ID="rgCustomerContact" runat="server" AllowPaging="True"  
        AllowSorting="True" OnPreRender="rgCustomerContact_PreRender" 
        GridLines="None" OnUpdateCommand="rgCustomerContact_UpdateCommand" OnInsertCommand="rgCustomerContact_InsertCommand" 
        OnDeleteCommand="rgCustomerContact_DeleteCommand" OnItemCommand="rgCustomerContact_ItemCommand" 
        PageSize="9" OnNeedDataSource="BindGrid" AutoGenerateColumns="False"> 
        <ClientSettings AllowColumnsReorder="True" EnablePostBackOnRowClick="true" ReorderColumnsOnClient="True"> 
            <Selecting AllowRowSelect="True" /> 
            <ClientEvents OnRowSelected="RowSelected" /> 
            <ClientEvents OnRowDblClick="RowDblClick" /> 
        </ClientSettings> 
        <MasterTableView DataKeyNames="CustomerContactID" CommandItemDisplay="Top" EditMode="PopUp"> 
            <Columns> 
                <telerik:GridEditCommandColumn UniqueName="EditCommandColumn" ButtonType="ImageButton" 
                    EditImageUrl="~/App_Themes/xDynamics/images/Edit.gif"> 
                </telerik:GridEditCommandColumn> 
                <telerik:GridBoundColumn UniqueName="ContactID" HeaderText="ContactID" DataField="CustomerContactID"> 
                </telerik:GridBoundColumn> 
                <telerik:GridBoundColumn UniqueName="FirstName" HeaderText="First Name" DataField="CustomerContactID_FirstName"> 
                </telerik:GridBoundColumn> 
                <telerik:GridBoundColumn UniqueName="Surname" HeaderText="Surname" DataField="CustomerContactID_LastName"> 
                </telerik:GridBoundColumn> 
                <telerik:GridBoundColumn UniqueName="Phone" HeaderText="Phone" DataField="CustomerContactID_PhoneNumber"> 
                </telerik:GridBoundColumn> 
                <telerik:GridBoundColumn UniqueName="Mobile" HeaderText="Mobile" DataField="CustomerContactID_MobileNumber"> 
                </telerik:GridBoundColumn> 
                <telerik:GridBoundColumn UniqueName="Fax" HeaderText="Fax" DataField="CustomerContactID_FaxNumber"> 
                </telerik:GridBoundColumn> 
                <telerik:GridBoundColumn UniqueName="Email" HeaderText="Email" DataField="CustomerContactID_Email"> 
                </telerik:GridBoundColumn> 
            </Columns> 
            <RowIndicatorColumn> 
                <HeaderStyle Width="20px"></HeaderStyle> 
            </RowIndicatorColumn> 
            <ExpandCollapseColumn> 
                <HeaderStyle Width="20px"></HeaderStyle> 
            </ExpandCollapseColumn> 
            <EditFormSettings UserControlName="~/Applications/xDynamics/Controls/Forms/Edit/xd_EditContact.ascx" 
                EditFormType="WebUserControl" InsertCaption="Add new item" CaptionFormatString="Edit CustomerContactID: {0}" 
                CaptionDataField="CustomerContactID"> 
                <PopUpSettings Width="500px" /> 
                <EditColumn UniqueName="EditCommandColumn1" > 
                </EditColumn> 
            </EditFormSettings> 
        </MasterTableView> 
    </telerik:RadGrid> 
</div> 
<div> 
    <ajaxToolkit:Accordion ID="Accordion1" runat="server" SelectedIndex="0" HeaderCssClass="accordionHeaderDeselected" 
        HeaderSelectedCssClass="accordionHeaderSelected" ContentCssClass="accordionContent" 
        FadeTransitions="false" FramesPerSecond="40" TransitionDuration="250" Visible="false" 
        RequireOpenedPane="false" SuppressHeaderPostbacks="true"> 
        <Panes> 
            <ajaxToolkit:AccordionPane ID="AccordionPane1" runat="server"> 
                <Header> 
                    <a href="" style="text-decoration: none">Contact Details</a></Header> 
                <Content> 
                    <table id="tblPan1" width="500px"> 
                        <tr runat="server" width="150px" id="trCustomerTypeID" visible="False"> 
                            <td> 
                                CustomerContactID 
                            </td> 
                            <td> 
                                <asp:Label ID="lblCustomerContactID" runat="server"> 
                                </asp:Label> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr1" visible="False"> 
                            <td> 
                                CustomerID 
                            </td> 
                            <td> 
                                <asp:Label ID="lblCustomerID" runat="server"> 
                                </asp:Label> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr2"> 
                            <td> 
                                Title 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtTitle" runat="server" Width="300" ReadOnly="True"> 
                                </asp:TextBox> 
                            </td> 
                            <td> 
                                Position 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtPosition" runat="server" Width="300" ReadOnly="True"> 
                                </asp:TextBox> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr3"> 
                            <td> 
                                First Name 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtFirstName" runat="server" Width="300" ReadOnly="True"> 
                                </asp:TextBox> 
                            </td> 
                            <td> 
                                Last Name 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtLastName" runat="server" Width="300" ReadOnly="True"> 
                                </asp:TextBox> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr6"> 
                            <td width="150px"> 
                                Phone 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtPhone" runat="server" Width="300" ReadOnly="True"> 
                                </asp:TextBox> 
                            </td> 
                            <td> 
                                Mobile 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtMobile" runat="server" Width="300" ReadOnly="True"> 
                                </asp:TextBox> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr8"> 
                            <td> 
                                Fax 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtFax" runat="server" Width="300" ReadOnly="True"> 
                                </asp:TextBox> 
                            </td> 
                            <td> 
                                Email 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtEmail" runat="server" Width="300" ReadOnly="True"> 
                                </asp:TextBox> 
                            </td> 
                        </tr> 
                    </table> 
                </Content> 
            </ajaxToolkit:AccordionPane> 
            <ajaxToolkit:AccordionPane ID="AccordionPane2" runat="server"> 
                <Header> 
                    <a href="" style="text-decoration: none">Contact Mailing</a></Header> 
                <Content> 
                    <table id="Table1" width="500px"> 
                        <tr runat="server" width="150px" id="tr10"> 
                            <td> 
                                Address 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtAddress" runat="server" Width="300" ReadOnly="True"> 
                                </asp:TextBox> 
                            </td> 
                            <td> 
                                Country 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtCountry" runat="server" Width="300" ReadOnly="True"> 
                                </asp:TextBox> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr12"> 
                            <td> 
                                State 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtState" runat="server" Width="300" ReadOnly="True"> 
                                </asp:TextBox> 
                            </td> 
                            <td> 
                                Location 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtLocation" runat="server" Width="300" ReadOnly="True"> 
                                </asp:TextBox> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr14"> 
                            <td> 
                                Postcode 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtPostcode" runat="server" Width="300" ReadOnly="True"> 
                                </asp:TextBox> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td> 
                                Active? 
                            </td> 
                            <td> 
                                <asp:CheckBox ID="chkActive" runat="server" Enabled="False"></asp:CheckBox> 
                            </td> 
                            <td> 
                                Training Account&nbsp; 
                            </td> 
                            <td> 
                                <asp:CheckBox ID="chkTrainingAccount" runat="server" Enabled="False" /> 
                            </td> 
                        </tr> 
                        <tr runat="server" id="trOrganiserActive"> 
                            <td> 
                                Organiser Active&nbsp; 
                            </td> 
                            <td> 
                                <asp:CheckBox ID="chkOrganiserActive" runat="server" Enabled="False" /> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr16"> 
                            <td> 
                                Edited By 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtEditedBy" runat="server" Width="300" Enabled="False"> 
                                </asp:TextBox> 
                            </td> 
                            <td> 
                                Edited Date 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtEditedDate" runat="server" Width="300" Enabled="False"> 
                                </asp:TextBox> 
                            </td> 
                        </tr> 
                    </table> 
                </Content> 
            </ajaxToolkit:AccordionPane> 
        </Panes> 
    </ajaxToolkit:Accordion> 
 
</div> 
 
 
xd_ViewContact.ascx.cs
using System; 
using System.Collections; 
using System.Collections.Generic; 
using System.Configuration; 
using System.Data; 
using System.Data.SqlClient; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using Telerik.Web.UI; 
 
namespace xDynamics.Controls.View 
{ 
    public partial class xd_ViewContact : UserControl 
    { 
        DataAccess data = new DataAccess(); 
        protected void Page_Init(object sender, EventArgs e) 
        { 
            Accordion1.FindControl("nothing"); 
        } 
        public void Page_Load(object sender, EventArgs e) 
        { 
 
        } 
 
        public void FunctionPageLoad() 
        { 
            if (Geek.CustomerID != null) 
            { 
                lblCustomerID.Text = Geek.CustomerID.ToString(); 
            } 
            Accordion1.Visible = false; 
        } 
        public void RebindGridFunction() 
        { 
            rgCustomerContact.Rebind(); 
        } 
 
        protected void rgCustomerContact_ItemCommand(object source, GridCommandEventArgs e) 
        { 
            Geek.xd_CustomerContactID = rgCustomerContact.SelectedValue; 
            BindCustomerContact(Geek.xd_CustomerContactID.ToString()); 
            Accordion1.Visible = true; 
        } 
        protected void rgCustomerContact_PreRender(object sender, EventArgs e) 
        { 
            if (!this.IsPostBack) 
            { 
                //this.rgCustomerContact.MasterTableView.Items[1].Edit = true; 
                this.rgCustomerContact.MasterTableView.Rebind(); 
            } 
        } 
 
        protected void BindGrid(object source, GridNeedDataSourceEventArgs e) 
        { 
            this.rgCustomerContact.DataSource = this.Contacts; 
            this.Contacts.PrimaryKey = new DataColumn[] { this.Contacts.Columns["CustomerContactID"] }; 
        } 
        public void BindCustomerContact(string CustomerContactID) 
        { 
            if (!String.IsNullOrEmpty(Geek.xd_CustomerContactID.ToString())) 
            { 
                string sql = string.Format("SELECT data_customer_contact.CustomerContactID, data_customer_contact.CustomerID, data_lookup_tables_1.LookupID_LookupTable AS Title, data_customer_contact.CustomerContactID_FirstName, data_customer_contact.CustomerContactID_LastName, data_customer_contact.CustomerContactID_PositionTitle, data_customer_contact.CustomerContactID_PhoneNumber, data_customer_contact.CustomerContactID_MobileNumber, data_customer_contact.CustomerContactID_FaxNumber, data_customer_contact.CustomerContactID_Email, data_customer_contact.CustomerContactID_Address, data_lookup_tables_3.LookupID_LookupTable AS LookupID_Country, data_lookup_tables_5.LookupID_LookupTable AS LookupID_State, data_lookup_tables_2.LookupID_LookupTable AS LookupID_Location, data_lookup_tables_4.LookupID_LookupTable AS LookupID_Postcode, data_customer_contact.CustomerContactID_Active, IsNull(data_customer_contact.TrainingActive,0) AS TrainingActive, IsNull(data_customer_contact.OrganiserActive,0) AS OrganiserActive, data_customer_contact.CustomerContactID_EditedBy, data_customer_contact.CustomerContactID_EditedDate FROM Xtrain.data_customer_contact LEFT OUTER JOIN Xtrain.data_lookup_tables AS data_lookup_tables_4 ON Xtrain.data_customer_contact.LookupID_Postcode = data_lookup_tables_4.LookupID LEFT OUTER JOIN Xtrain.data_lookup_tables AS data_lookup_tables_2 ON Xtrain.data_customer_contact.LookupID_Location = data_lookup_tables_2.LookupID LEFT OUTER JOIN Xtrain.data_lookup_tables AS data_lookup_tables_5 ON Xtrain.data_customer_contact.LookupID_State = data_lookup_tables_5.LookupID LEFT OUTER JOIN Xtrain.data_lookup_tables AS data_lookup_tables_3 ON Xtrain.data_customer_contact.LookupID_Country = data_lookup_tables_3.LookupID LEFT OUTER JOIN Xtrain.data_lookup_tables AS data_lookup_tables_1 ON Xtrain.data_customer_contact.CustomerContactID_ContactTitle = data_lookup_tables_1.LookupID WHERE (data_customer_contact.CustomerContactID = {0})", CustomerContactID); 
 
                DataTable dt = data.GetDataTable(sql); 
 
                if (dt.Rows.Count > 0) 
                { 
                    lblCustomerID.Text = dt.Rows[0]["CustomerID"].ToString(); 
                    if (!String.IsNullOrEmpty(dt.Rows[0]["CustomerContactID"].ToString())) 
                    { 
                        lblCustomerContactID.Text = dt.Rows[0]["CustomerContactID"].ToString(); 
                        //Geek.xd_CustomerContactID = lblCustomerContactID.Text; 
                    } 
                    txtTitle.Text = dt.Rows[0]["Title"].ToString(); 
                    txtPosition.Text = dt.Rows[0]["CustomerContactID_PositionTitle"].ToString(); 
                    txtFirstName.Text = dt.Rows[0]["CustomerContactID_FirstName"].ToString(); 
                    txtLastName.Text = dt.Rows[0]["CustomerContactID_LastName"].ToString(); 
                    txtPhone.Text = dt.Rows[0]["CustomerContactID_PhoneNumber"].ToString(); 
                    txtMobile.Text = dt.Rows[0]["CustomerContactID_MobileNumber"].ToString(); 
                    txtFax.Text = dt.Rows[0]["CustomerContactID_FaxNumber"].ToString(); 
                    txtEmail.Text = dt.Rows[0]["CustomerContactID_Email"].ToString(); 
 
                    txtAddress.Text = dt.Rows[0]["CustomerContactID_Address"].ToString(); 
                    txtCountry.Text = dt.Rows[0]["LookupID_Country"].ToString(); 
                    txtState.Text = dt.Rows[0]["LookupID_State"].ToString(); 
                    txtLocation.Text = dt.Rows[0]["LookupID_Location"].ToString(); 
                    txtPostcode.Text = dt.Rows[0]["LookupID_Postcode"].ToString(); 
                    if (!String.IsNullOrEmpty(dt.Rows[0]["CustomerContactID_Active"].ToString())) 
                    { 
                        chkActive.Checked = Convert.ToBoolean(dt.Rows[0]["CustomerContactID_Active"].ToString()); 
                    } 
                    if (!String.IsNullOrEmpty(dt.Rows[0]["TrainingActive"].ToString())) 
                    { 
                        chkTrainingAccount.Checked = Convert.ToBoolean(dt.Rows[0]["TrainingActive"]); 
                    } 
                    if (!String.IsNullOrEmpty(dt.Rows[0]["OrganiserActive"].ToString())) 
                    { 
                        chkOrganiserActive.Checked = Convert.ToBoolean(dt.Rows[0]["OrganiserActive"]); 
                    } 
                    txtEditedBy.Text = dt.Rows[0]["CustomerContactID_EditedBy"].ToString(); 
                    txtEditedDate.Text = dt.Rows[0]["CustomerContactID_EditedDate"].ToString(); 
                } 
                dt.Dispose(); 
 
            } 
            Geek.xd_CustomerContactID = lblCustomerContactID.Text; 
        } 
 
        private static DataTable GetDataTable(string queryString) 
        { 
            String ConnString = ConfigurationManager.ConnectionStrings["XDEVConnect"].ConnectionString; 
            SqlConnection MySqlConnection = new SqlConnection(ConnString); 
            SqlDataAdapter MySqlDataAdapter = new SqlDataAdapter(); 
            MySqlDataAdapter.SelectCommand = new SqlCommand(queryString, MySqlConnection); 
 
            DataTable myDataTable = new DataTable(); 
            MySqlConnection.Open(); 
            try 
            { 
                MySqlDataAdapter.Fill(myDataTable); 
            } 
            finally 
            { 
                MySqlConnection.Close(); 
            } 
 
            return myDataTable; 
        } 
 
        private DataTable Contacts 
        { 
            get 
            { 
                object obj = this.Session["Contacts"]; 
                if ((!(obj == null))) 
                { 
                    return ((DataTable)(obj)); 
                } 
                DataTable myContactsTable = new DataTable(); 
                myContactsTable = GetDataTable("SELECT data_customer_contact.CustomerContactID, data_customer_contact.CustomerID, data_customer_contact.CustomerContactID_ContactTitle, data_customer_contact.CustomerContactID_FirstName, data_customer_contact.CustomerContactID_LastName, data_customer_contact.CustomerContactID_PositionTitle, data_customer_contact.CustomerContactID_PhoneNumber, data_customer_contact.CustomerContactID_MobileNumber, data_customer_contact.CustomerContactID_FaxNumber, data_customer_contact.CustomerContactID_Email, data_customer_contact.CustomerContactID_Address, data_customer_contact.LookupID_Country, data_customer_contact.LookupID_State, data_customer_contact.LookupID_Location, data_customer_contact.LookupID_Postcode, data_customer_contact.CustomerContactID_Active, data_customer_contact.CustomerContactID_EditedBy, data_customer_contact.CustomerContactID_EditedDate, IsNull(data_customer_contact.TrainingActive,0) AS TrainingActive, IsNull(data_customer_contact.OrganiserActive,0) AS OrganiserActive FROM Xtrain.data_customer_contact WHERE (CustomerID = " + Geek.CustomerID + ")"); 
                this.Session["Contacts"] = myContactsTable; 
                return myContactsTable; 
            } 
        } 
 
        protected void rgCustomerContact_UpdateCommand(object source, GridCommandEventArgs e) 
        { 
            GridEditableItem editedItem = e.Item as GridEditableItem; 
            UserControl ucEditContact = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID); 
 
            //Prepare new row to add it in the DataSource 
            DataRow[] changedRows = this.Contacts.Select("CustomerContactID = " + editedItem.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["CustomerContactID"]); 
 
            if (changedRows.Length != 1) 
            { 
                rgCustomerContact.Controls.Add(new LiteralControl("Unable to locate the Employee for updating.")); 
                e.Canceled = true; 
                return; 
            } 
 
            //Update new values 
            Hashtable newValues = new Hashtable(); 
 
            newValues["CustomerID"] = (ucEditContact.FindControl("ddlCompany") as DropDownList).SelectedItem.Value; 
            newValues["CustomerContactID_ContactTitle"] = (ucEditContact.FindControl("ddlTitle") as DropDownList).SelectedItem.Value; 
            newValues["CustomerContactID_FirstName"] = (ucEditContact.FindControl("txtFirstName") as TextBox).Text; 
            newValues["CustomerContactID_LastName"] = (ucEditContact.FindControl("txtLastName") as TextBox).Text; 
            newValues["CustomerContactID_PositionTitle"] = (ucEditContact.FindControl("txtPosition") as TextBox).Text; 
            newValues["CustomerContactID_PhoneNumber"] = (ucEditContact.FindControl("txtPhone") as TextBox).Text; 
            newValues["CustomerContactID_MobileNumber"] = (ucEditContact.FindControl("txtMobile") as TextBox).Text; 
            newValues["CustomerContactID_FaxNumber"] = (ucEditContact.FindControl("txtFax") as TextBox).Text; 
            newValues["CustomerContactID_Address"] = (ucEditContact.FindControl("txtAddress") as TextBox).Text; 
            newValues["CustomerContactID_Notes"] = (ucEditContact.FindControl("txtNotes") as TextBox).Text; 
            newValues["CustomerContactID_Email"] = (ucEditContact.FindControl("txtEmail") as TextBox).Text; 
 
            newValues["LookupID_Country"] = (ucEditContact.FindControl("ddlCountry") as DropDownList).SelectedItem.Value; 
            newValues["LookupID_State"] = (ucEditContact.FindControl("ddlState") as DropDownList).SelectedItem.Value; 
            newValues["LookupID_Location"] = (ucEditContact.FindControl("ddlLocation") as DropDownList).SelectedItem.Value; 
            newValues["LookupID_Postcode"] = (ucEditContact.FindControl("ddlPostcode") as DropDownList).SelectedItem.Value; 
 
            newValues["CustomerContactID_Active"] = (ucEditContact.FindControl("chkActive") as CheckBox).Checked; 
            newValues["TrainingActive"] = (ucEditContact.FindControl("chkTrainingAccount") as CheckBox).Checked; 
            newValues["OrganiserActive"] = (ucEditContact.FindControl("chkOrganiserActive") as CheckBox).Checked; 
 
            newValues["CustomerContactID_EditedBy"] = (ucEditContact.FindControl("txtEditedBy") as TextBox).Text; 
            newValues["CustomerContactID_EditedDate"] = (ucEditContact.FindControl("txtEditedDate") as TextBox).Text; 
 
            changedRows[0].BeginEdit(); 
            try 
            { 
                foreach (DictionaryEntry entry in newValues) 
                { 
                    changedRows[0][(string)entry.Key] = entry.Value; 
                } 
                changedRows[0].EndEdit(); 
                this.Contacts.AcceptChanges(); 
            } 
            catch (Exception ex) 
            { 
                changedRows[0].CancelEdit(); 
 
                Label lblError = new Label(); 
                lblError.Text = "Unable to update Contact. Reason: " + ex.Message; 
                lblError.ForeColor = System.Drawing.Color.Red; 
                rgCustomerContact.Controls.Add(lblError); 
 
                e.Canceled = true; 
            } 
        } 
 
        protected void rgCustomerContact_InsertCommand(object source, GridCommandEventArgs e) 
        { 
            GridEditableItem editedItem = e.Item as GridEditableItem; 
            UserControl ucAddContact = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID); 
 
            //Create new row in the DataSource 
            DataRow newRow = this.Contacts.NewRow(); 
 
            //Insert new values 
            Hashtable newValues = new Hashtable(); 
 
            newValues["CustomerID"] = (ucAddContact.FindControl("lblCompany") as Label).Text; 
            newValues["Title"] = (ucAddContact.FindControl("ddlTitle") as DropDownList).SelectedItem.Value; 
            newValues["CustomerContactID_FirstName"] = (ucAddContact.FindControl("txtFirstName") as TextBox).Text; 
            newValues["CustomerContactID_LastName"] = (ucAddContact.FindControl("txtLastName") as TextBox).Text; 
            newValues["CustomerContactID_PositionTitle"] = (ucAddContact.FindControl("txtPosition") as TextBox).Text; 
            newValues["CustomerContactID_PhoneNumber"] = (ucAddContact.FindControl("txtPhone") as TextBox).Text; 
            newValues["CustomerContactID_MobileNumber"] = (ucAddContact.FindControl("txtMobile") as TextBox).Text; 
            newValues["CustomerContactID_FaxNumber"] = (ucAddContact.FindControl("txtFax") as TextBox).Text; 
            newValues["CustomerContactID_Address"] = (ucAddContact.FindControl("txtAddress") as TextBox).Text; 
            newValues["CustomerContactID_Notes"] = (ucAddContact.FindControl("txtNotes") as TextBox).Text; 
            newValues["CustomerContactID_Email"] = (ucAddContact.FindControl("txtEmail") as TextBox).Text; 
 
            newValues["LookupID_Country"] = (ucAddContact.FindControl("ddlCountry") as DropDownList).SelectedItem.Value; 
            newValues["LookupID_State"] = (ucAddContact.FindControl("ddlState") as DropDownList).SelectedItem.Value; 
            newValues["LookupID_Location"] = (ucAddContact.FindControl("ddlLocation") as DropDownList).SelectedItem.Value; 
            newValues["LookupID_Postcode"] = (ucAddContact.FindControl("ddlPostcode") as DropDownList).SelectedItem.Value; 
 
            newValues["CustomerContactID_Active"] = (ucAddContact.FindControl("chkActive") as CheckBox).Checked; 
            newValues["TrainingActive"] = (ucAddContact.FindControl("chkTrainingAccount") as CheckBox).Checked; 
            newValues["OrganiserActive"] = (ucAddContact.FindControl("chkOrganiserActive") as CheckBox).Checked; 
 
            newValues["CustomerContactID_EditedBy"] = (ucAddContact.FindControl("txtEditedBy") as TextBox).Text; 
            newValues["CustomerContactID_EditedDate"] = (ucAddContact.FindControl("txtEditedDate") as TextBox).Text; 
 
            //make sure that unique primary key value is generated for the inserted row  
            newValues["CustomerContactID"] = (int)this.Contacts.Rows[this.Contacts.Rows.Count - 1]["CustomerContactID"] + 1; 
            try 
            { 
                foreach (DictionaryEntry entry in newValues) 
                { 
                    newRow[(string)entry.Key] = entry.Value; 
                } 
                this.Contacts.Rows.Add(newRow); 
                this.Contacts.AcceptChanges(); 
            } 
            catch (Exception ex) 
            { 
                Label lblError = new Label(); 
                lblError.Text = "Unable to insert Contact. Reason: " + ex.Message; 
                lblError.ForeColor = System.Drawing.Color.Red; 
                rgCustomerContact.Controls.Add(lblError); 
 
                e.Canceled = true; 
            } 
        } 
 
        protected void rgCustomerContact_DeleteCommand(object source, GridCommandEventArgs e) 
        { 
            string ID = (e.Item as GridDataItem).OwnerTableView.DataKeyValues[e.Item.ItemIndex]["CustomerContactID"].ToString(); 
            DataTable contactTable = this.Contacts; 
            if (contactTable.Rows.Find(ID) != null) 
            { 
                contactTable.Rows.Find(ID).Delete(); 
                contactTable.AcceptChanges(); 
            } 
        } 
         
    } 
} 

xd_EditContact.ascx
<%@ Control AutoEventWireup="true" CodeFile="xd_EditContact.ascx.cs" Inherits="xDynamics.Controls.Edit.xd_EditContact" 
    Language="C#" %> 
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %> 
<div> 
    <asp:ValidationSummary ID="vsContact" runat="server" ValidationGroup="Contact" ShowMessageBox="True" 
        ShowSummary="False" DisplayMode="List" /> 
    <ajaxToolkit:Accordion ID="Accordion1" runat="server" SelectedIndex="0" HeaderCssClass="accordionHeaderDeselected" 
        HeaderSelectedCssClass="accordionHeaderSelected" ContentCssClass="accordionContent" 
        FadeTransitions="false" FramesPerSecond="40" TransitionDuration="250" RequireOpenedPane="false" 
        SuppressHeaderPostbacks="true"> 
        <Panes> 
            <ajaxToolkit:AccordionPane ID="AccordionPane1" runat="server"> 
                <Header> 
                    <a href="" style="text-decoration: none">Details</a></Header> 
                <Content> 
                    <table id="tblPan1" width="500px" class="style1"> 
                        <tr runat="server" width="150px" id="tr1" visible="true"> 
                            <td> 
                                CustomerID 
                            </td> 
                            <td> 
                                <asp:UpdatePanel ID="UpdatePanel6" runat="server"> 
                                    <ContentTemplate> 
                                        <asp:DropDownList ID="ddlCompany" runat="server" AutoPostBack="True" Width="100%" 
                                            CausesValidation="True"> 
                                        </asp:DropDownList> 
                                    </ContentTemplate> 
                                </asp:UpdatePanel> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr4"> 
                            <td> 
                                CustomerContactID 
                            </td> 
                            <td> 
                                <asp:Label ID="lblCustomerContactID" runat="server" Text='<%# DataBinder.Eval( Container, "DataItem.CustomerContactID") %>'> 
                                </asp:Label> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr2"> 
                            <td> 
                                Title 
                            </td> 
                            <td> 
                                <asp:UpdatePanel ID="UpdatePanel5" runat="server"> 
                                    <ContentTemplate> 
                                        <asp:DropDownList ID="ddlTitle" runat="server" AutoPostBack="True" Width="100%" 
                                            CausesValidation="True"> 
                                        </asp:DropDownList> 
                                        <asp:RequiredFieldValidator ID="rfvTitle" runat="server" ErrorMessage="*" ControlToValidate="ddlTitle" 
                                            ValidationGroup="Contact"></asp:RequiredFieldValidator> 
                                    </ContentTemplate> 
                                </asp:UpdatePanel> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr5"> 
                            <td> 
                                Position 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtPosition" runat="server" Width="300" Text='<%# DataBinder.Eval( Container, "DataItem.CustomerContactID_PositionTitle") %>'> 
                                </asp:TextBox> 
                                <asp:RequiredFieldValidator ID="rfvPosition" runat="server" ErrorMessage="*" ValidationGroup="Contact" 
                                    ControlToValidate="txtPosition"></asp:RequiredFieldValidator> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr3"> 
                            <td> 
                                First Name 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtFirstName" runat="server" Width="300" Text='<%# DataBinder.Eval( Container, "DataItem.CustomerContactID_FirstName") %>'> 
                                </asp:TextBox> 
                                <asp:RequiredFieldValidator ID="rfvFirstName" runat="server" ErrorMessage="*" ValidationGroup="Contact" 
                                    ControlToValidate="txtFirstName"></asp:RequiredFieldValidator> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr7"> 
                            <td> 
                                Surname Name 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtLastName" runat="server" Width="300" Text='<%# DataBinder.Eval( Container, "DataItem.CustomerContactID_LastName") %>'> 
                                </asp:TextBox> 
                                <asp:RequiredFieldValidator ID="rfvLastName" runat="server" ErrorMessage="*" ValidationGroup="Contact" 
                                    ControlToValidate="txtLastName"></asp:RequiredFieldValidator> 
                            </td> 
                        </tr> 
                    </table> 
                </Content> 
            </ajaxToolkit:AccordionPane> 
            <ajaxToolkit:AccordionPane ID="AccordionPane3" runat="server"> 
                <Header> 
                    <a href="" style="text-decoration: none">Contact Details</a></Header> 
                <Content> 
                    <table id="Table2" width="500px" class="style1"> 
                        <tr runat="server" width="150px" id="tr6"> 
                            <td width="150px"> 
                                Phone 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtPhone" runat="server" Width="300" Text='<%# DataBinder.Eval( Container, "DataItem.CustomerContactID_PhoneNumber") %>'> 
                                </asp:TextBox> 
                                <asp:RequiredFieldValidator ID="rfvPhone" runat="server" ErrorMessage="*" ValidationGroup="Contact" 
                                    ControlToValidate="txtPhone"></asp:RequiredFieldValidator> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr9"> 
                            <td> 
                                Mobile 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtMobile" runat="server" Width="300" Text='<%# DataBinder.Eval( Container, "DataItem.CustomerContactID_MobileNumber") %>'> 
                                </asp:TextBox> 
                                <asp:RequiredFieldValidator ID="rfvMobile" runat="server" ErrorMessage="*" ValidationGroup="Contact" 
                                    ControlToValidate="txtMobile"></asp:RequiredFieldValidator> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr8"> 
                            <td> 
                                Fax 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtFax" runat="server" Width="300" Text='<%# DataBinder.Eval( Container, "DataItem.CustomerContactID_FaxNumber") %>'> 
                                </asp:TextBox> 
                                <asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" ErrorMessage="*" 
                                    ValidationGroup="Contact" ControlToValidate="txtFax"></asp:RequiredFieldValidator> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr11"> 
                            <td> 
                                Email 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtEmail" runat="server" Width="300" Text='<%# DataBinder.Eval( Container, "DataItem.CustomerContactID_Email") %>'> 
                                </asp:TextBox> 
                                <asp:RequiredFieldValidator ID="rfvEmail" runat="server" ErrorMessage="*" ValidationGroup="Contact" 
                                    ControlToValidate="txtEmail"></asp:RequiredFieldValidator> 
                            </td> 
                        </tr> 
                    </table> 
                </Content> 
            </ajaxToolkit:AccordionPane> 
            <ajaxToolkit:AccordionPane ID="AccordionPane2" runat="server"> 
                <Header> 
                    <a href="" style="text-decoration: none">Mailing</a></Header> 
                <Content> 
                    <table id="Table1" width="100%" class="style1"> 
                        <tr runat="server" width="150px" id="tr10"> 
                            <td> 
                                Address 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtAddress" runat="server" Width="300" Text='<%# DataBinder.Eval( Container, "DataItem.CustomerContactID_Address") %>'> 
                                </asp:TextBox> 
                                <asp:RequiredFieldValidator ID="rfvAddress" runat="server" ErrorMessage="*" ValidationGroup="Contact" 
                                    ControlToValidate="txtAddress"></asp:RequiredFieldValidator> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr12"> 
                            <td> 
                                Country&nbsp; 
                            </td> 
                            <td> 
                                <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
                                    <ContentTemplate> 
                                        <asp:DropDownList ID="ddlCountry" runat="server" Width="100%" AutoPostBack="True" 
                                            OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged"> 
                                        </asp:DropDownList> 
                                        <asp:SqlDataSource ID="sdsCountry" runat="server"></asp:SqlDataSource> 
                                        <asp:RequiredFieldValidator ID="rfvCountry" runat="server" ErrorMessage="*" ControlToValidate="ddlCountry" 
                                            ValidationGroup="Customer"></asp:RequiredFieldValidator> 
                                    </ContentTemplate> 
                                </asp:UpdatePanel> 
                            </td> 
                        </tr> 
                        <tr runat="server" id="trState"> 
                            <td> 
                                State&nbsp; 
                            </td> 
                            <td> 
                                <asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
                                    <ContentTemplate> 
                                        <asp:DropDownList ID="ddlState" runat="server" Width="100%" AutoPostBack="True" 
                                            OnSelectedIndexChanged="ddlState_SelectedIndexChanged"> 
                                        </asp:DropDownList> 
                                        <asp:SqlDataSource ID="sdsState" runat="server"></asp:SqlDataSource> 
                                        <asp:RequiredFieldValidator ID="rfvState" runat="server" ErrorMessage="*" ControlToValidate="ddlState" 
                                            ValidationGroup="Customer"></asp:RequiredFieldValidator> 
                                    </ContentTemplate> 
                                </asp:UpdatePanel> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr13"> 
                            <td> 
                                Location&nbsp; 
                            </td> 
                            <td> 
                                <asp:UpdatePanel ID="UpdatePanel3" runat="server"> 
                                    <ContentTemplate> 
                                        <asp:DropDownList ID="ddlLocation" runat="server" Width="100%" AutoPostBack="True" 
                                            OnSelectedIndexChanged="ddlLocation_SelectedIndexChanged"> 
                                        </asp:DropDownList> 
                                        <asp:SqlDataSource ID="sdsLocation" runat="server"></asp:SqlDataSource> 
                                        <asp:RequiredFieldValidator ID="rfvLocation" runat="server" ErrorMessage="*" ControlToValidate="ddlLocation" 
                                            ValidationGroup="Customer"></asp:RequiredFieldValidator> 
                                    </ContentTemplate> 
                                </asp:UpdatePanel> 
                            </td> 
                        </tr> 
                        <tr runat="server" id="trPostcode"> 
                            <td> 
                                Postcode&nbsp; 
                            </td> 
                            <td> 
                                <asp:UpdatePanel ID="UpdatePanel4" runat="server"> 
                                    <ContentTemplate> 
                                        <asp:DropDownList ID="ddlPostcode" runat="server" Width="100%"> 
                                        </asp:DropDownList> 
                                        <asp:SqlDataSource ID="sdsPostcode" runat="server"></asp:SqlDataSource> 
                                        <asp:RequiredFieldValidator ID="rfvPostcode" runat="server" ErrorMessage="*" ControlToValidate="ddlPostcode" 
                                            ValidationGroup="Customer"></asp:RequiredFieldValidator> 
                                    </ContentTemplate> 
                                </asp:UpdatePanel> 
                            </td> 
                        </tr> 
                    </table> 
                </Content> 
            </ajaxToolkit:AccordionPane> 
            <ajaxToolkit:AccordionPane ID="AccordionPane4" runat="server"> 
                <Header> 
                    <a href="" style="text-decoration: none">Contact Details</a></Header> 
                <Content> 
                    <table id="Table3" width="500px" class="style1"> 
                        <tr> 
                            <td> 
                                Active? 
                            </td> 
                            <td> 
                                <asp:CheckBox ID="chkActive" runat="server" Checked='<%# DataBinder.Eval( Container, "DataItem.CustomerContactID_Active")%>'> 
                                </asp:CheckBox> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr14"> 
                            <td> 
                                Training Account&nbsp; 
                            </td> 
                            <td> 
                                <asp:CheckBox ID="chkTrainingAccount" runat="server" Checked='<%#DataBinder.Eval( Container, "DataItem.TrainingActive")%>' /> 
                            </td> 
                        </tr> 
                        <tr runat="server" id="trOrganiserActive"> 
                            <td> 
                                Organiser Active&nbsp; 
                            </td> 
                            <td> 
                                <asp:CheckBox ID="chkOrganiserActive" runat="server" Checked='<%#DataBinder.Eval( Container, "DataItem.OrganiserActive")%>' /> 
                            </td> 
                        </tr> 
                        <tr runat="server" id="trNotes"> 
                            <td> 
                                Notes&nbsp; 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtNotes" runat="server" TextMode="MultiLine" Width="100%" Height="150px" 
                                    Text='<%# DataBinder.Eval( Container, "DataItem.CustomerContactID_Notes") %>'></asp:TextBox> 
                                <asp:RequiredFieldValidator ID="rfvNotes" runat="server" ErrorMessage="*" ControlToValidate="txtNotes" 
                                    ValidationGroup="Customer"></asp:RequiredFieldValidator> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr16"> 
                            <td> 
                                Edited By 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtEditedBy" runat="server" Width="300" Enabled="False" Text='<%# DataBinder.Eval( Container, "DataItem.CustomerContactID_EditedBy") %>'> 
                                </asp:TextBox> 
                            </td> 
                        </tr> 
                        <tr runat="server" width="150px" id="tr15"> 
                            <td> 
                                Edited Date 
                            </td> 
                            <td> 
                                <asp:TextBox ID="txtEditedDate" runat="server" Width="300" Enabled="False" Text='<%# DataBinder.Eval( Container, "DataItem.CustomerContactID_EditedDate") %>'> 
                                </asp:TextBox> 
                            </td> 
                        </tr> 
                    </table> 
                </Content> 
            </ajaxToolkit:AccordionPane> 
        </Panes> 
    </ajaxToolkit:Accordion> 
    <table id="Table4" width="500px" class="style1"> 
        <tr> 
            <td align="right" colspan="2"> 
                <asp:Button ID="btnUpdate" Text="Update" runat="server" CommandName="Update" Visible='<%# !(DataItem is Telerik.Web.UI.GridInsertionObject) %>'> 
                </asp:Button> 
                <asp:Button ID="btnInsert" Text="Insert" runat="server" CommandName="PerformInsert" 
                    Visible='<%# DataItem is Telerik.Web.UI.GridInsertionObject %>'></asp:Button> 
                &nbsp; 
                <asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False" 
                    CommandName="Cancel"></asp:Button> 
            </td> 
        </tr> 
    </table> 
</div> 
 

xd_EditContact.ascx.cs
using System; 
using System.Data; 
using System.Collections; 
using System.Data.SqlClient; 
using System.Web.UI; 
 
namespace xDynamics.Controls.Edit 
{ 
    public partial class xd_EditContact : UserControl 
    { 
        #region Globals 
        DataAccess data = new DataAccess(); 
        private object _dataItem = null; 
        #endregion 
        #region Page Events 
        protected void Page_Init(object sender, EventArgs e) 
        { 
            Accordion1.FindControl("nothing"); 
        } 
        public void Page_Load(object sender, EventArgs e) 
        { 
        } 
        #endregion 
        #region Web Form Designer generated code 
        override protected void OnInit(EventArgs e) 
        { 
            // 
            // CODEGEN: This call is required by the ASP.NET Web Form Designer. 
            // 
            InitializeComponent(); 
            base.OnInit(e); 
        } 
 
        /// <summary> 
        ///     Required method for Designer support - do not modify 
        ///     the contents of this method with the code editor. 
        /// </summary> 
        private void InitializeComponent() 
        { 
            this.DataBinding += new System.EventHandler(this.BindCompanyList); 
            this.DataBinding += new System.EventHandler(this.BindTitleList); 
            this.DataBinding += new System.EventHandler(this.BindCountryList); 
        } 
        #endregion 
        #region Public Functions 
        public void FunctionPageLoad() 
        { 
            string selectedCountries = ddlCountry.SelectedValue; 
            string selectedStates = ddlState.SelectedValue; 
            string selectedLocations = ddlLocation.SelectedValue; 
            string selectedPostcode = ddlPostcode.SelectedValue; 
 
            ddlCountry.SelectedValue = selectedCountries; 
            ddlState.SelectedValue = selectedStates; 
            ddlLocation.SelectedValue = selectedLocations; 
            ddlPostcode.SelectedValue = selectedPostcode; 
        } 
 
        public object DataItem 
        { 
            get 
            { 
                return this._dataItem; 
            } 
            set 
            { 
                this._dataItem = value; 
            } 
        } 
        #endregion 
        #region Control Bindings 
 
        protected void BindCompanyList(object sender, EventArgs e) 
        { 
            string sql = "SELECT DISTINCT CustomerID, CompanyName FROM Xtrain.data_customer  WHERE (AccountActive = 1) ORDER BY CompanyName ASC"; 
            DataTable Company = data.GetDataTable(sql); 
            ArrayList CompanyList = new ArrayList(Company.Rows); 
            if (Company.Rows.Count > 0) 
            { 
                ddlCompany.DataSource = Company; 
                ddlCompany.DataTextField = "CompanyName"; 
                ddlCompany.DataValueField = "CustomerID"; 
                ddlCompany.DataBind(); 
                ddlCompany.Items.Insert(0, "- Select a Company -"); 
                object CompanyValue = DataBinder.Eval(DataItem, "CustomerID"); 
                if (CompanyValue == DBNull.Value) 
                { 
                    CompanyValue = "0"; 
                } 
                ddlCompany.SelectedIndex = CompanyList.IndexOf(CompanyValue); 
                ddlCompany.DataSource = null; 
            } 
        } 
 
        protected void BindTitleList(object sender, EventArgs e) 
        { 
            string sql = "SELECT DISTINCT LookupID_LookupTable, LookupID, LookupParentID FROM Xtrain.data_lookup_tables WHERE  (LookupParentID = 11)"; 
            DataTable Title = data.GetDataTable(sql); 
            ArrayList TitleList = new ArrayList(Title.Rows); 
            if (Title.Rows.Count > 0) 
            { 
                ddlTitle.DataSource = Title; 
                ddlTitle.DataTextField = "LookupID_LookupTable"; 
                ddlTitle.DataValueField = "LookupID"; 
                ddlTitle.DataBind(); 
                ddlTitle.Items.Insert(0, "- Select a Title -"); 
                object TitleValue = DataBinder.Eval(DataItem, "CustomerContactID_ContactTitle"); 
                if (TitleValue == DBNull.Value) 
                { 
                    TitleValue = "0"; 
                } 
                ddlTitle.SelectedIndex = TitleList.IndexOf(TitleValue); 
                ddlTitle.DataSource = null; 
            } 
        } 
 
        protected void BindCountryList(object sender, EventArgs e) 
        { 
            string sql = "SELECT DISTINCT LookupID_LookupTable, LookupID, LookupParentID FROM Xtrain.data_lookup_tables WHERE (LookupParentID = 41)"; 
            DataTable Country = data.GetDataTable(sql); 
            ArrayList CountryList = new ArrayList(Country.Rows); 
            if (Country.Rows.Count > 0) 
            { 
                ddlCountry.DataSource = Country; 
                ddlCountry.DataTextField = "LookupID_LookupTable"; 
                ddlCountry.DataValueField = "LookupID"; 
                ddlCountry.DataBind(); 
                ddlCountry.Items.Insert(0, "- Select a Country -"); 
                object CountryValue = DataBinder.Eval(DataItem, "LookupID_Country"); 
                if (CountryValue == DBNull.Value) 
                { 
                    CountryValue = "0"; 
                } 
                ddlCountry.SelectedIndex = CountryList.IndexOf(CountryValue); 
                ddlCountry.DataSource = null; 
            } 
        } 
        protected void BindStateList(object sender, EventArgs e) 
        { 
            string sql = string.Format("SELECT DISTINCT LookupID_LookupTable, LookupID, LookupParentID FROM Xtrain.data_lookup_tables WHERE ( LookupID_ParentLookupID ={0})", ddlCountry.SelectedValue); 
            DataTable State = data.GetDataTable(sql); 
            ArrayList StateList = new ArrayList(State.Rows); 
            if (State.Rows.Count > 0) 
            { 
                ddlState.DataSource = State; 
                ddlState.DataTextField = "LookupID_LookupTable"; 
                ddlState.DataValueField = "LookupID"; 
                ddlState.DataBind(); 
                ddlState.Items.Insert(0, "- Select a State -"); 
                object StateValue = DataBinder.Eval(DataItem, "LookupID_State"); 
                if (StateValue == DBNull.Value) 
                { 
                    StateValue = "0"; 
                } 
                ddlState.SelectedIndex = StateList.IndexOf(StateValue); 
                ddlState.DataSource = null; 
            } 
        } 
        protected void BindLocationList(object sender, EventArgs e) 
        { 
            string sql = string.Format("SELECT DISTINCT LookupID_LookupTable, LookupID, LookupParentID FROM Xtrain.data_lookup_tables WHERE (LookupParentID = ={0})", ddlState.SelectedValue); 
            DataTable Location = data.GetDataTable(sql); 
            ArrayList LocationList = new ArrayList(Location.Rows); 
            if (Location.Rows.Count > 0) 
            { 
                ddlLocation.DataSource = Location; 
                ddlLocation.DataTextField = "LookupID_LookupTable"; 
                ddlLocation.DataValueField = "LookupID"; 
                ddlLocation.DataBind(); 
                ddlLocation.Items.Insert(0, "- Select a Location -"); 
                object LocationValue = DataBinder.Eval(DataItem, "LookupID_Location"); 
                if (LocationValue == DBNull.Value) 
                { 
                    LocationValue = "0"; 
                } 
                ddlLocation.SelectedIndex = LocationList.IndexOf(LocationValue); 
                ddlLocation.DataSource = null; 
            } 
        } 
        protected void BindPostcodeList(object sender, EventArgs e) 
        { 
            string sql = string.Format("SELECT DISTINCT LookupID_LookupTable, LookupID, LookupParentID FROM Xtrain.data_lookup_tables WHERE (LookupParentID = ={0})", ddlLocation.SelectedValue); 
            DataTable Postcode = data.GetDataTable(sql); 
            ArrayList PostcodeList = new ArrayList(Postcode.Rows); 
            if (Postcode.Rows.Count > 0) 
            { 
                ddlPostcode.DataSource = Postcode; 
                ddlPostcode.DataTextField = "LookupID_LookupTable"; 
                ddlPostcode.DataValueField = "LookupID"; 
                ddlPostcode.DataBind(); 
                ddlPostcode.Items.Insert(0, "- Select a Postcode -"); 
                object PostcodeValue = DataBinder.Eval(DataItem, "LookupID_Postcode"); 
                if (PostcodeValue == DBNull.Value) 
                { 
                    PostcodeValue = "0"; 
                } 
                ddlPostcode.SelectedIndex = PostcodeList.IndexOf(PostcodeValue); 
                ddlPostcode.DataSource = null; 
            } 
        } 
 
        protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e) 
        { 
            ddlState.DataBind(); 
        } 
 
        protected void ddlState_SelectedIndexChanged(object sender, EventArgs e) 
        { 
            ddlLocation.DataBind(); 
        } 
        protected void ddlLocation_SelectedIndexChanged(object sender, EventArgs e) 
        { 
            ddlPostcode.DataBind(); 
        } 
        #endregion 
    } 
} 

Pavlina
Telerik team
 answered on 17 May 2010
1 answer
182 views
By last version of April, when you open the page of Dialog for managing links, I get this error.

I configured the web config as follows:
 <system.webServer>
...
  <handlers>
...
   <add name="Telerik_Web_UI_DialogHandler_aspx" verb="*" preCondition="integratedMode,runtimeVersionv2.0" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" />
   <add name="Telerik_Web_UI_WebResource_axd" verb="*" preCondition="integratedMode,runtimeVersionv2.0" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" />
...

It run on IIS 7

I customized the menu of my RadEditor:

<root>
 <tools>
  <tool name="Bold"/>
  <tool name="Italic"/>
  <tool name="Underline"/>
  <tool separator="true"/>
  <tool name="JustifyLeft"/>
  <tool name="JustifyCenter"/>
  <tool name="JustifyRight"/>
  <tool name="JustifyFull"/>
  <tool name="InsertOrderedList"/>
  <tool name="InsertUnorderedList"/>
  <tool name="Outdent"/>
  <tool name="Indent"/>
  <tool separator="true"/>
  <tool name="Paste"/>
  <tool name="PasteFromWord"/>
  <tool name="PasteFromWordNoFontsNoSizes"/>
  <tool name="PastePlainText"/>
  <tool name="PasteAsHtml"/>
  <tool name="Unlink"/>
  <tool name="LinkManager"/>
 </tools>
</root>


Thanks

Luca
Rumen
Telerik team
 answered on 17 May 2010
3 answers
92 views
Hello,
We are using the RadEditor to insert flash in Sharepoint 2007.
Does somebody know how to update the properties of the flash (without the editor's HTML tab visible) after having adding the file via the FlashManager?
Thanks by advance.

Regards.
Didier.
Rumen
Telerik team
 answered on 17 May 2010
1 answer
69 views
I am trying to determine if the MenuItem that was clicked is a child and if so what is the parent or owner value or text. I am using the server-side event  RadScheduler1_TimeSlotContextMenuItemClicking and am having difficulty getting it.

Protected Sub RadScheduler1_TimeSlotContextMenuItemClicking(ByVal sender As Object, ByVal e As Telerik.Web.UI.TimeSlotContextMenuItemClickingEventArgs) Handles RadScheduler1.TimeSlotContextMenuItemClicking  
        If e.MenuItem.Value = "EnableGrouping" Then 
            RadScheduler1.GroupBy = "Location" 
        ElseIf e.MenuItem.Owner.??? Then 
        Do Something  
 
        End If 
 
        UpdateScheduler()  
    End Sub 

Thanks in advance
Peter
Telerik team
 answered on 17 May 2010
1 answer
165 views
Hi,

I created a raddock programmatically and then use the LoadWidget routine to add a Web user control to it. It works well but how can I pass parameters  to of the web user control? 

Thanks.
Pero
Telerik team
 answered on 17 May 2010
5 answers
302 views
We have a problem that we're able to reproduce consistently with nothing on a page but a radwindowmanager and a few textboxes.

When we popup a modal dialog and then close it the ability to tab between the textboxes is removed. We've tried everything to no avail. If the dialog is not modal everything works fine. Is there something we need to do to fix this or is this a bug with telerik?

Thomas Eberhard

Below is the page we're using - the "Pagewithinformation" doesn't have any affect on the popup as we've tried it with many different pages and they're all the same
<html> 
    <head> 
        <title>Title</title> 
        <script type="text/javascript"> 
            function OnClientClose() [ ] 
            function CallBackFunction() [ ] 
 
            function ShowInformation() [ 
                    var oManager = GetRadWindowManager(); 
                    var oMailWnd; 
                    oMailWnd = window.radopen('Pagewithinformation.aspx'); 
                    oMailWnd.setSize(400, 250); 
                    oMailWnd.set_modal(true); 
            ] 
                 
        </script> 
 
    </head> 
    <body> 
        <form runat="server"> 
            <asp:ScriptManager ID="ScriptManager" runat="server"></asp:ScriptManager> 
            <telerik:RadWindowManager 
                ID="radWindowManager" 
                Skin="Office2007" 
                VisibleOnPageLoad="true" 
                OnClientClose="OnClientClose" 
                Width="468" 
                ClientCallBackFunction="CallBackFunction" 
                VisibleStatusBar="false" 
                Height="306px" 
                runat="server"> 
            </telerik:RadWindowManager>     
 
        <asp:TextBox ID="TextBox1" runat="server" /> 
        <asp:TextBox ID="TextBox2" runat="server" /> 
        <asp:TextBox ID="TextBox3" runat="server" /> 
        <asp:TextBox ID="TextBox4" runat="server" /> 
        <asp:TextBox ID="TextBox5" runat="server" /> 
        <asp:TextBox ID="TextBox6" runat="server" /> 
        <asp:TextBox ID="TextBox7" runat="server" /> 
        <asp:TextBox ID="TextBox8" runat="server" /> 
        <asp:TextBox ID="TextBox9" runat="server" /> 
        <button onclick='javascript:ShowInformation();'>Click Me</button> 
        </form> 
    </body> 
</html> 
 

Svetlina Anati
Telerik team
 answered on 17 May 2010
21 answers
809 views
Hi,
 I'm following the documentation section 'Defining custom CSS styles' and I can't seem to get the rad editor to use the custom external stylesheet defined in RadEditor.css.

I've created a new css file whose path is: C:\Program Files\Common Files\Microsoft Shared\web server extensions\wpresources\RadEditorSharePoint\4.1.0.0__1f131a624888eeed\RadControls\Editor\

The styles dont appear in the drop down style picker even after restarting IIS.

I'm using the rad editor with WSS v3.0.

Any help would be much appreciated,
Tom.
Lini
Telerik team
 answered on 17 May 2010
6 answers
221 views
Hi. Here's my problem:

I'm trying to set some items in a ListBox to be checked after the ListBox is databound. My problem is that even though the loop is executed and Visual Studio reports each item I want as checked = true, it doesn't appear to be so. Any suggestions?

            
            rlbRoles.DataBind(); 
            stmt = 
                @"Select auth_Roles.Name as Name, auth_Roles.NameEL as NameEL from auth_Roles INNER JOIN auth_UserRoles on auth_UserRoles.RoleId = auth_Roles.RoleId INNER JOIN auth_Users on auth_UserRoles.UserId = auth_Users.UserId 
                    WHERE auth_Users.UserId = @UserId"; 
 
            dt = DbSql.ExecuteDataTable(stmt, 
                                        new List<SqlParameter>(new[] 
                                                                   { 
                                                                       new SqlParameter("@UserId", 
                                                                                        DataBinder.Eval(sender, 
                                                                                                        "DataItem.ID")) 
                                                                   } 
                                            ) 
                ); 
 
            int i = 0; 
            foreach (DataRow r in dt.Rows) 
            { 
                rlbRoles.FindItemByValue(dt.Rows[i]["Name"].ToString()).Checked = true; 
                i++; 
            } 
Lighthouse Developer
Top achievements
Rank 1
 answered on 17 May 2010
6 answers
127 views
Hello,

In my page I have one main RadAjaxPanel and inside I have 3 RadPageView. The second and most important page has one repeater to show products and inside of it there's another repeater to show, lest say, orders of that product. This page became bigger and bigger so a new RadAjaxPanel was added so the navigability was more pleasant to user witch were great. On every row of the repeater I've created 2 div's, one visible to show (only with labels) and the other hidden to edit (with labels and textboxes)... To this textboxes I've assigned different asp validators but they don't fire because they are inside more than one RadAjaxPanel. I've commented the inside panel and they were working fine, but with them they just don't do anything.

Is there any way I can enable those validators even being inside several panels?

Thank you for you're time.
Maria Ilieva
Telerik team
 answered on 17 May 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jake
Top achievements
Rank 1
RBarnes
Top achievements
Rank 1
Iron
Iron
Rami
Top achievements
Rank 1
Iron
Veteran
Nathan
Top achievements
Rank 1
Kumeri
Top achievements
Rank 1
Iron
Veteran
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?