繁体   English   中英

下拉列表从SQL数据库中选择

[英]dropdownlist Select from SQL database

我正在尝试做一个汽车维修项目,但有一个小问题。 该项目是这样的:

针对不同汽车的4种维护计划。

 CarA ( MirrorA, etc etc )
 CarB ( MirrorB, etc etc )
 CarC ( MirrorC, etc etc )
 CarD ( MirrorD, etc etc )

我要做的是,当我从DropDownList选择一辆Car时,程序会为汽车选择正确的维护计划!

SqlCommand cmd = new SqlCommand("Select id, description from accauto_maps", con);
con.Open();
DropDownList1.DataSource = cmd.ExecuteReader();
DropDownList1.DataTextField = "description";
DropDownList1.DataValueField = "id";
DropDownList1.DataBind(); 

现在我被卡住了。

现在您需要在此列表中设置SelectedValue和/或定义事件OnSelectedIndexChanged,您将在其中处理用户的选择

在示例下面,我们如何做到这一点:

<asp:DropDownList ID="ddlStatus" AutoPostBack="True" runat="server" DataSourceID="EDSLookStatus"
    DataValueField="cd" 
    DataTextField="lookupName" 
    OnSelectedIndexChanged="ddlStatus_SelectedIndexChanged" />
<asp:TextBox ID="txtBxStatus" runat="server" Text='<%# Bind("status") %>' Visible="False" />

这是窍门:添加了不可见的文本框,该文本框链接到“状态”。 当ddl更改值时,它将为此txtBx设置新值:

protected void ddlStatus_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList ddl = FormViewClient.FindControl("ddlStatus") as DropDownList;
    TextBox txtBx = FormViewClient.FindControl("txtBxStatus") as TextBox;
    if (ddl != null && txtBx != null)
    { txtBx.Text = ddl.SelectedValue; }
}

设置所选值:

<asp:FormView ... OnDataBound="FormViewClient_DataBound" >

protected void FormViewClient_DataBound(object sender, EventArgs e)
{
    ...
    DropDownList ddl = FormViewClient.FindControl("ddlStatus") as DropDownList;
    TextBox txtBx = FormViewClient.FindControl("txtBxStatus") as TextBox;
    if (ddl != null && txtBx != null)
    { ddl.SelectedValue = txtBx.Text; }
    ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM