valores valor una por opciones multiple lista desplegable defecto condicionada con como automatica autocompletar asociados agregar c# asp.net

c# - valor - lista desplegable excel autocompletar



Agregar un valor predeterminado en la lista desplegable después de enlazar con la base de datos (5)

Después del enlace de datos, haga esto:

ddlColor.Items.Insert(0, new ListItem("Select","NA")); //updated code

O sigue la segunda sugerencia de Brian si quieres hacerlo en formato.

Probablemente debería agregar un control RequiredFieldValidator y establecer su InitialValue en "NA".

<asp:RequiredFieldValidator .. ControlToValidate="ddlColor" InitialValue="NA" />

Vinculé mi ddl a mi base de datos como se muestra a continuación, pero ¿cómo puedo agregar un texto predeterminado sobre los valores vinculados para que aparezca como:

Select Color ---> default text Red ---> database value Blue ---> database value Green ---> database value

Código:

DropDownList ddlSize = (DropDownList)FormView_Product.Row.Cells[0].FindControl("ddlSize"); CommerceEntities db = new CommerceEntities(); ddlColor.DataSource = from p in db.ProductTypes where p.ProductID == pID orderby p.Color select new { p.Color }; ddlColor.DataTextField = "Color";

¡Gracias!


La solución provista por Justin debería funcionar. Para asegurarse de que el uso de la propiedad SelectedIndex también ayudará.

ddlColor.DataSource = from p in db.ProductTypes where p.ProductID == pID orderby p.Color select new { p.Color }; ddlColor.DataTextField = "Color"; ddlColor.DataBind(); ddlColor.Items.Insert(0, new ListItem("Select Color", ""); ddlColor.SelectedIndex = 0;


Puede agregarlo mediante programación o en el marcado, pero si lo agrega mediante programación, en lugar de Add el elemento, debe Insert como posición cero para que sea el primer elemento:

ddlColor.DataSource = from p in db.ProductTypes where p.ProductID == pID orderby p.Color select new { p.Color }; ddlColor.DataTextField = "Color"; ddlColor.DataBind(); ddlColor.Items.Insert(0, new ListItem("Select Color", "");

Se espera que el elemento predeterminado sea el primer elemento de la lista. Si simplemente lo Add , estará en la parte inferior y no se seleccionará de forma predeterminada.


Puedes hacerlo programáticamente:

ddlColor.DataSource = from p in db.ProductTypes where p.ProductID == pID orderby p.Color select new { p.Color }; ddlColor.DataTextField = "Color"; ddlColor.DataBind(); ddlColor.Items.Insert(0, new ListItem("Select", "NA"));

O agregarlo en el marcado como:

<asp:DropDownList .. AppendDataBoundItems="true"> <Items> <asp:ListItem Text="Select" Value="" /> </Items> </asp:DropDownList>


diseño

<asp:DropDownList ID="ddlArea" DataSourceID="ldsArea" runat="server" ondatabound="ddlArea_DataBound" />

código detrás

protected void ddlArea_DataBound(object sender, EventArgs e) { ddlArea.Items.Insert(0, new ListItem("--Select--", "0")); }