asp.net - Asp.net - Agregar un elemento en blanco en la parte superior de la lista desplegable




5 Answers

Después de su databind:

drpList.Items.Insert(0, new ListItem(String.Empty, String.Empty));
drpList.SelectedIndex = 0;

¿Por qué el menú desplegable no muestra primero mi elemento en blanco? Esto es lo que tengo

drpList.Items.Add(New ListItem("", ""))

With drpList
    .DataSource = myController.GetList(userid)
    .DataTextField = "Name"
    .DataValueField = "ID"
    .DataBind()
End With

Editar ~ Estoy vinculado a una lista de Generig, ¿podría ser este el culpable?




Puede usar AppendDataBoundItems=true para agregar fácilmente:

<asp:DropDownList ID="drpList" AppendDataBoundItems="true" runat="server"><br/>
    <asp:ListItem Text="" Value="" /><br/>
</asp:DropDownList>



Como dijo "Whisk", el truco está en la propiedad "AppendDataBoundItems"

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        DropDownList1.AppendDataBoundItems = true;
        DropDownList1.Items.Insert(0, new ListItem(String.Empty, String.Empty));
        DropDownList1.SelectedIndex = 0;
    }
}

Gracias "Batidor"




parece que está agregando un elemento en blanco y luego un enlace de datos, que vaciaría la lista; intente insertar el elemento en blanco después del enlace de datos




ddlCategory.DataSource = ds;
ddlCategory.DataTextField = "CatName";
ddlCategory.DataValueField = "CatID";

Cách 1:

ddlCategory.Items.Add(new ListItem("--please select--", "-1"));
ddlCategory.AppendDataBoundItems = true;
ddlCategory.SelectedIndex = -1;

ddlCategory.DataBind();

Cách 2:

ddlCategory.Items.Insert(0, new ListItem("-- please select --", "0"));

(Probado OK)




Related

asp.net drop-down-menu