[CLOSED] Fill dynamic ComboBox data on server side

  1. #1

    [CLOSED] Fill dynamic ComboBox data on server side

    Dear all,
    I'm trying to creat dynamic comboBox on server side(c#) as :
    ComboBox cbMixedClass = new ComboBox();
            cbMixedClass.Store.Add(stClassGenderTypes);
            cbMixedClass.ValueField = "ClassGenderType_ID";
            cbMixedClass.DisplayField = "ClassGenderTypesName";
            cbMixedClass.FieldLabel = "الماده مختلطة";
            cbMixedClass.Mode = DataLoadMode.Remote;
            cbMixedClass.ID = "cbMixedClass_" + (classesCount + 1);
            cbMixedClass.AllowBlank = false;
            cbMixedClass.Width = 316;
            cbMixedClass.SetValue(offeringSubjectClass.ClassGenderType_ID);
            cbMixedClass.Listeners.Select.Fn = "mixedClassSelect";
    the comboBox dosn't show any data when i open the page but if i do that in java script the combobox show data without any problem as
    Please see the attached Picture
    var cbMixedClass = new Ext.form.ComboBox({
                store: stClassGenderTypes,
                valueField: 'ClassGenderType_ID',
                displayField: 'ClassGenderTypesName',
                mode: 'local',
                fieldLabel: 'الماده مختلطة',
                typeAhead: true,
                forceSelection: true,
                triggerAction: 'all',
                id: 'cbMixedClass_' + i,
                allowBlank: false,
                width: 316,
                listeners:
                {
                    select: {
                        fn: mixedClassSelect
                    }
                }
            })
    Thank you in advance
    Attached Thumbnails Click image for larger version. 

Name:	java script.jpg 
Views:	4 
Size:	87.5 KB 
ID:	4578   Click image for larger version. 

Name:	ServerSide.jpg 
Views:	4 
Size:	89.1 KB 
ID:	4579  
    Last edited by Daniil; Aug 07, 2012 at 8:06 AM. Reason: [CLOSED]
  2. #2
    Hi,

    Do you create that ComboBox during initial Page_Load or during DirectEvent/DirectMethod?

    How do you create the Store?

    Any chance for us to look at a full example?
  3. #3
    Dear ,
    Thank you for replay,
    I did that during DirectMethod as u can see from the code:
    java script code
    var CommandHandler = function (fpOfferingSubject, command, record) {
        if (command == 'Edit') {
     Ext.net.DirectMethods.LoadOfferingTeachingClasses({ success: function () {
                tsTaskBar.setActiveTab(Ext.getCmp('tab_1'));
    
            }
            },
            { eventMask: {
                showMask: true, msg: loadingMsg
            }
            });
            //         e.value=nfOpenedClassNumber.value;
            //         openedClassNumberKeyUp(nfOpenedClassNumber,e,null)
        }
    }
    Server Side C#
    [DirectMethod]
        public void LoadOfferingTeachingClasses()
        {
            OfferingSubjectClasses offeringSubjectClasses = new OfferingSubjectClasses();
            offeringSubjectClasses.OfferingSubject_ID = Int64.Parse(hfOfferingSubject_ID.Value.ToString());
            List<OfferingSubjectClasses> lstOfferingSubjectClasses = OfferingSubjectClassesManager.GetListBy(offeringSubjectClasses);
            nfOpenedClassNumber.SetValue(lstOfferingSubjectClasses.Count);
            foreach (var offeringSubjectClass in lstOfferingSubjectClasses)
            {
                Ext.Net.Panel tabPnl = new Ext.Net.Panel();
                tabPnl.ID = "tab_" + (classesCount + 1);
                string tempLang = Session["Lang"].ToString();
                if (!string.IsNullOrEmpty(tempLang))
                {
                    if (string.Equals(tempLang, "ar"))
                    {
                        tabPnl.Title = "شعبة رقم " + (classesCount + 1);
                    }
                    else
                    {
                        tabPnl.Title = "Class No: " + (classesCount + 1);
                    }
                }
                tabPnl.Closable = true;
                tabPnl.AutoHeight = true;
                tabPnl.Listeners.BeforeClose.Fn = "classClose";
                AddtabCmp(tabPnl, offeringSubjectClass);
                tabPnl.AddTo(tsTaskBar);
                classesCount++;
            }
            tsTaskBar.ActiveTabIndex = 0;
    
            //foreach (var offeringSubjectClass in lstOfferingSubjectClasses)
            //{
            //  //  Ext.Net.Panel tabPnl = new Ext.Net.Panel();
            //    tabPnl.ID = "tab_" + (classesCount+1);
            //    tabPnl.Title = "شعبة " + (classesCount+1);
            //    tabPnl.Closable = true;
            //    tabPnl.AutoHeight = true;
            //    tabPnl.Listeners.Close.Fn = "classClose";
            //    AddtabCmp(tabPnl, offeringSubjectClass);
    
            //    tabPnl.AddTo(tsTaskBar);
    
            //    classesCount++;
            //}
            //tsTaskBar.ActiveTabIndex = 0;
        }
    private void AddtabCmp(Ext.Net.Panel tabPnl, OfferingSubjectClasses offeringSubjectClass)
        {
     //------------------------------------------------------------
            ComboBox cbMixedClass = new ComboBox();
            cbMixedClass.Store.Add(stClassGenderTypes);
            cbMixedClass.ValueField = "ClassGenderType_ID";
            cbMixedClass.DisplayField = "ClassGenderTypesName";
            cbMixedClass.FieldLabel = "الماده مختلطة";
            cbMixedClass.Mode = DataLoadMode.Remote;
            cbMixedClass.ID = "cbMixedClass_" + (classesCount + 1);
            cbMixedClass.AllowBlank = false;
            cbMixedClass.Width = 316;
            cbMixedClass.SetValue(offeringSubjectClass.ClassGenderType_ID);
            cbMixedClass.Listeners.Select.Fn = "mixedClassSelect";
            //.............................................................
     }
    and this ASP store
     <ext:Store ID="stClassGenderTypes" runat="server" IDMode="Static">
            <Reader>
                <ext:JsonReader IDProperty="ClassGenderType_ID">
                    <Fields>
                        <ext:RecordField Name="ClassGenderTypesName" />
                        <ext:RecordField Name="ClassGenderType_ID"  />
                    </Fields>
                </ext:JsonReader>
            </Reader>
        </ext:Store>
    Last this way to fill the store
     protected void Page_Load(object sender, EventArgs e)
        {
            if (!X.IsAjaxRequest)
            {
                
                LoadClassGenderType();
              }
        }
     private void LoadClassGenderType()
        {
            stClassGenderTypes.DataSource=ClassGenderTypesManager.GetList();
            stClassGenderTypes.DataBind();
        }
  4. #4
    Ok, thanks.

    I think you should replace
    cbMixedClass.Store.Add(stClassGenderTypes);
    with
    cbMixedClass.StoreID = stClassGenderTypes.ID;
    Also I see
    cbMixedClass.Mode = DataLoadMode.Remote;
    but in the client side snippet:
    mode: 'local'
    So, I think you should set up
    cbMixedClass.Mode = DataLoadMode.Local;
    If the issue persists, please post a DirectMethod response.
  5. #5
    It's Correct

    Thank you so much

Similar Threads

  1. Dynamic Menu Server Side events
    By SeshuKumar in forum 1.x Help
    Replies: 8
    Last Post: Dec 03, 2012, 5:13 AM
  2. [CLOSED] [1.0] How to get GridPanel data from Server-side
    By egodoy in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: May 10, 2010, 7:22 PM
  3. Replies: 4
    Last Post: Mar 19, 2010, 11:35 AM
  4. Clear Grid data server side
    By bsnezw in forum 1.x Help
    Replies: 2
    Last Post: Oct 26, 2009, 11:48 AM
  5. add node dynamic on server side
    By simbal in forum 1.x Help
    Replies: 1
    Last Post: Apr 27, 2009, 5:44 PM

Posting Permissions