同时绑定复选框列表

本文关键字:列表 复选框 绑定 | 更新日期: 2023-09-27 18:12:57

我在asp.net中有两个复选框列表,

第一个列表有所有的水果名称,第二个列表只有几个水果名称。

使用sqldatasource 从数据库中填充

列表

现在我需要做一些事情,这样第一个包含所有水果的列表应该只包含列表2中没有的水果

这是密码,先生,

private void AllFruitsNames()
{
    using (SqlDataSource ds = new SqlDataSource(ConnectionString(), "SELECT FruitName FROM FruitTable"))
    {
            CheckBoxList1.DataSource = ds;
            CheckBoxList1.DataTextField = "FruitName";
            CheckBoxList1.DataBind();
    }
}
private void PopulateOnlyFewFruitsNames(int crateID)
{
    CheckBoxList2.Items.Clear();
    using (SqlDataSource ds = new SqlDataSource(CS(), "SELECT FruitName FROM FruitTable Where crateID ='" + crateID + "'"))
    {
            CheckBoxList2.DataSource = ds;
            CheckBoxList2.DataTextField = "FruitName";
            CheckBoxList2.DataBind();
    }
}

我如何平衡水果,如果水果在第二个复选框列表中,那么它应该从复选框列表1中删除

同时绑定复选框列表

看来您已经有了想要出现在第二个列表中的水果的id。

仅从第一个查询中排除具有此id的所有水果:

"SELECT FruitName FROM FruitTable WHERE crateID NOT IN(" + String.Joing(",",crateIDList) + ")"

BTW:你真的不应该以这种方式构建SQL查询。它们容易受到sql注入的攻击。请使用参数化查询。这里有一篇关于这个主题的文章:对SQLDataSource

使用参数化查询