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

Cascading dropdown with Ajax

2 Answers 107 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
RB
Top achievements
Rank 1
RB asked on 17 Apr 2014, 08:24 PM
I am implementing cascading dropdownlist . The dropdown are in the radgrid Inline Edit Mode.
protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
      {
 
          if (e.Item is GridEditableItem && e.Item.IsInEditMode)
          {
              GridEditableItem item = e.Item as GridEditableItem;
              GridEditManager manager = item.EditManager;
 
              HyperLink hyperLink = (HyperLink)item["OrderTask"].Controls[0];
              hyperLink.Visible = false;
 
              DropDownList droplist = new DropDownList();
 
              droplist.ID = "DropDownListOrderTask";
              droplist.AutoPostBack = true;         
              item["OrderTask"].Controls.Add(droplist);
              CascadingDropDown ccdOrderTask = new CascadingDropDown();
              ccdOrderTask.ID = "ccdOrderTask";
              ccdOrderTask.Category = "OrderTask";
              ccdOrderTask.TargetControlID = "DropDownListOrderTask";
              ccdOrderTask.PromptText = "Select Order Task";
              ccdOrderTask.LoadingText = "Loading OrderTask";
              ccdOrderTask.ServiceMethod = "BindOrderTask";
              ccdOrderTask.ServicePath = "ajaxservice.asmx";                            
                 
              TextBox txt = (TextBox)item["TaskOwner"].Controls[0];
              txt.Visible = false;
              droplist = new DropDownList();
              droplist.ID = "DropDownListTaskOwner";
              item["TaskOwner"].Controls.Add(droplist);
              CascadingDropDown ccdTaskOwner = new CascadingDropDown();
              ccdTaskOwner.ID = "ccdTaskOwner";
              ccdTaskOwner.Category = "TaskOwner";
              ccdTaskOwner.ParentControlID = "DropDownListOrderTask";
              ccdTaskOwner.TargetControlID = "DropDownListTaskOwner";
              ccdTaskOwner.PromptText = "Select Task Owner";
              ccdTaskOwner.LoadingText = "Loading Task Owner";
              ccdTaskOwner.ServiceMethod = "BindTaskOwner";
              ccdTaskOwner.ServicePath = "ajaxservice.asmx"; 
          }
      }

OnPrerender I have the following:
protected override void OnPreRender(EventArgs e)
       {
           base.OnPreRender(e);
            
           var ajaxManager = RadAjaxManager.GetCurrent(Page);
 
           if(ajaxManager != null)
               ajaxManager.AjaxSettings.AddAjaxSetting(this._UpdatePanel, this._RadGrid1, this._RadLoadingPanel);         
       }


In the ajaxservice.asmx I have the following:

[WebMethod]
      public CascadingDropDownNameValue[] BindOrderTask(string knownCategoryValues, string category)
      {
          OrderRequestTaskTypeTable _orderRequestTaskTypeTable = new OrderRequestTaskType_List().ExecuteTypedDataTable();
          List<CascadingDropDownNameValue> orderTaskDetails = new List<CascadingDropDownNameValue>();
          foreach(DataRow dtRow in _orderRequestTaskTypeTable.Rows)
          {
                 String orderTaskId = dtRow["OrderRequestTaskTypeId"].ToString();
                 String orderTaskName = dtRow["DescriptionTaskType"].ToString();
                  //orderTaskDetails.Add(new CascadingDropDownNameValue(orderTaskId, orderTaskName));
                 orderTaskDetails.Add(new CascadingDropDownNameValue("orderTaskId", "orderTaskName"));
           }
            return orderTaskDetails.ToArray();
      }            
          

The 1st dropdown which calls BindOrderTask is empty! Am I missing something?

2 Answers, 1 is accepted

Sort by
0
RB
Top achievements
Rank 1
answered on 17 Apr 2014, 10:15 PM
I forgot to mention that I want to add the cascading dropdownList for Inline Add New Record using Ajax.
0
Marin
Telerik team
answered on 22 Apr 2014, 04:34 PM
Hello,

The configuration looks correct. You can check the Ajax Control ToolKit documentation for more information on the service binding of the CascadingDropDown extender. Additionally you can test how this works without any ajax on the page to determine whether the problem is in the CascadingDropDown extender databinding or the ajax configuration of the page. You can also check for any javascript errors on the page with any of the configurations.

Regards,
Marin
Telerik
 

Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

 
Tags
General Discussions
Asked by
RB
Top achievements
Rank 1
Answers by
RB
Top achievements
Rank 1
Marin
Telerik team
Share this question
or