Adding a new value to the drop down list box

39,663

Solution 1

try this after your databind :

ddlAssetsCountryOthersone.Items.Add(new ListItem("Others", "Others"));

By the way if you use Insert method, you can insert the item you want to the position you want. For example the code below adds the Other option to the 4th order :

ddlAssetsCountryOthersone.Items.Insert(4, new ListItem("Others", "Others"));

Solution 2

If you the dropdownlist is databound you will not be able to add items to your control after the DataBind() call, and if you add them before they will be cleared anyway whe you call DataBind().

You can use Insert or Add after the data binding takes place, and you can specify the index of the item you're inserting. Insert is used to insert at the specific location, Add will append to the bottom, as in your case:

//after databind

//example with insert - (-1 as list is zero based)
ddlMyList.Items.Insert(noOfItems-1, "Other");

OR

//add
ddlMyList.Items.Add("Other");

Solution 3

you can try like

ListItem li = new ListItem("text", "value");
    yourDropdown.Items.Insert(yourDropdown.Items.Count, li);

If you have 5 items in dropdown, it will return 5, since the insert index start from 0

Share:
39,663
Sumeru Suresh
Author by

Sumeru Suresh

Updated on July 01, 2020

Comments

  • Sumeru Suresh
    Sumeru Suresh almost 4 years

    I have a drop down list box which has one of the values to be others. I want to move these value to the last. Please help me with this. The code i am using is as follows

    ddlAssetsCountryOthersone.DataSource = lstIMAssetsByCountryOthers;
    ddlAssetsCountryOthersone.DataTextField = "AssetDescription";
    ddlAssetsCountryOthersone.DataValueField = "AssetDescription";
    ddlAssetsCountryOthersone.DataBind();
    ddlAssetsCountryOthersone.Items.Remove(
                 ddlAssetsCountryOthersone.Items.FindByValue(
                    Constants.PhilosophyAndEmphasis.Other.ToString()));
    

    How can i add the others back to the drop down list in the last