gpt4 book ai didi

c# - 将默认值添加到下拉列表中

转载 作者:可可西里 更新时间:2023-11-01 13:35:46 25 4
gpt4 key购买 nike

我正在尝试将 1 个默认值添加到 1 个下拉列表框中。

我有2个;

  1. DD地点
  2. DDL警察

我通过属性将项目添加到 DDLocation 中。因此,每当用户尝试单击其中一项时,DDLpolice 将自动从数据库中获取值。不幸的是,存在一个持续存在的错误,例如只要只有 1 个值可用,数据就不会显示。仅当您有 2 个值可供选择,然后才能显示第一个选项时,才会显示数据。我用下面的代码绑定(bind)我的 DDLocation。我在下面添加了一个默认值。不幸的是,默认值仅适用于选择 DDLocation

protected void DDLocation_SelectedIndexChanged(object sender, EventArgs e)
{
using (var connAdd = new SqlConnection("Data Source = localhost; Initial Catalog = project; Integrated Security= SSPI"))
{
connAdd.Open();

var sql = "Select policeid from LoginRegisterPolice where location='" + lblocation.SelectedItem.Text + "' AND status='available' AND handle='offcase'";
using (var cmdAdd = new SqlDataAdapter(sql, connAdd))
{
DataSet ds2 = new DataSet();
cmdAdd.Fill(ds2);

DDLpolice.DataSource = ds2;
DDLpolice.DataTextField = "policeid";
DDLpolice.DataValueField = "policeid";
DDLpolice.DataBind();

DDLpolice.Items.Insert(0, new ListItem("Select Officer", "NA"));
}

connAdd.Close();
}
}

我尝试将默认值添加到我的 DDLpolice 中,就像我对以前的 DDL 所做的那样。不幸的是,DDLpolice 被绑定(bind)了,因此我无法添加默认值。我尝试使用这两种方法,但都失败了

我为此添加了一个文本。

<asp:DropDownList ID="DDLpolice" runat="server" DataTextField="dropdownpolice" DataValueField="dropdownpolice" Text="Select Officer" OnSelectedIndexChanged ="DDLpolice_SelectedIndexChanged1" style="height: 22px">
</asp:DropDownList>

我也试过用这个方法

protected void DDLpolice_SelectedIndexChanged1(object sender, EventArgs e)
{
DDLpolice.Items.Add("Select Officer");
}

因此,总而言之,由于 DDL 与数据库的绑定(bind),我认为我无法添加。任何帮助将不胜感激。

问候。


更新!我终于可以使用 AD.net 提供的方法添加默认值

    <asp:DropDownList ID="DDLpolice" runat="server" DataTextField="dropdownpolice"       DataValueField="dropdownpolice" OnSelectedIndexChanged ="DDLpolice_SelectedIndexChanged1"     style="height: 22px"
AppendDataBoundItems="true">
<asp:ListItem Value="">Select Officer</asp:ListItem>
</asp:DropDownList>

基本上,您必须将 AppendDataBoundItem 方法添加到您的源代码(html 端)中。之后,添加一个包含默认值的 ListItemValue。

最佳答案

这是有道理的。每当您为 DropDownList 执行 DataBind 时,它都会丢失所有以前的值。您可以尝试在 ddl 的 OnDataBound 事件之后添加额外的项目,它应该在完成 DataBinding 后触发。您也可以尝试使用此属性 AppendDataBoundItems 并在 html 中声明一个默认项。

AppendDataBoundItems 允许您在每次进行数据绑定(bind)时追加项目,因此它不应该是您的正确选择,除非您删除第一个项目以外的项目。

您应该遵循第一种方法,在数据绑定(bind)事件中插入默认项。

protected void DDLpoliceDataBound(object sender, EventArgs e)
{
DDLpolice.Items.Insert(0, new ListItem("Select Officer", "NA"));
}

<asp:DropDownList runat="server" ID="DDLpolice"
ondatabound="DDLpoliceDataBound"></asp:DropDownList>

关于c# - 将默认值添加到下拉列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16804176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com