我有 3 个下拉列表 (DDL),它们都绑定到名为policyID 的列。
PoliceID 列有 3 个数据值,称为:
- 123456
- 234567
- 345678
当数据已经在一个 ddl 中被选中时,我试图阻止数据出现在另一个 ddl 中。
例如,我有 3 个 DDL,它们是
- DDL1
- DDL2
- DDL3
如果 DDL1 选择 123456,这个值 123456 将不会出现在其他 2 个 DDL 中。
但是当用户取消选择 123456 并选择默认值时,这个值 123456 将能够在所有 3 个 DDL 中看到。
我在这个帖子上问了一个类似的问题
我用过更新面板
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
但它不起作用。有没有其他方法可以防止出现重复数据?
问候。
这就是我将 DDL 绑定到 SQL 的方式。
protected void ddllocation_SelectedIndexChanged(object sender, EventArgs e)
{
using (var connAdd = new SqlConnection("Data Source = localhost; Initial Catalog = MajorProject; Integrated Security= SSPI"))
{
connAdd.Open();
var sql = "Select policeid from PoliceAccount where status ='available' and handle ='offcase' and postedto='" + ddllocation.SelectedValue + "'";
using (var cmdAdd = new SqlDataAdapter(sql, connAdd))
{
DataSet ds2 = new DataSet();
cmdAdd.Fill(ds2);
ddlpid1.Items.Clear();
ddlpid1.DataSource = ds2;
ddlpid1.DataTextField = "policeid";
ddlpid1.DataValueField = "policeid";
ddlpid1.DataBind();
ddlpid1.Items.Insert(0, new ListItem("Police ID", ""));
ddlpid1.SelectedIndex = 0;
ddlpid2.Items.Clear();
ddlpid2.DataSource = ds2;
ddlpid2.DataTextField = "policeid";
ddlpid2.DataValueField = "policeid";
ddlpid2.DataBind();
ddlpid2.Items.Insert(0, new ListItem("Police ID", ""));
ddlpid2.SelectedIndex = 0;
ddlpid3.Items.Clear();
ddlpid3.DataSource = ds2;
ddlpid3.DataTextField = "policeid";
ddlpid3.DataValueField = "policeid";
ddlpid3.DataBind();
ddlpid3.Items.Insert(0, new ListItem("Police ID", ""));
ddlpid3.SelectedIndex = 0;
ddlpid4.Items.Clear();
ddlpid4.DataSource = ds2;
ddlpid4.DataTextField = "policeid";
ddlpid4.DataValueField = "policeid";
ddlpid4.DataBind();
ddlpid4.Items.Insert(0, new ListItem("Police ID", ""));
ddlpid4.SelectedIndex = 0;
ddlpid5.Items.Clear();
ddlpid5.DataSource = ds2;
ddlpid5.DataTextField = "policeid";
ddlpid5.DataValueField = "policeid";
ddlpid5.DataBind();
ddlpid5.Items.Insert(0, new ListItem("Police ID", ""));
ddlpid5.SelectedIndex = 0;
}