同时数据绑定checkboxlist

时间:2013-05-09 15:36:31

标签: c# javascript jquery asp.net sql-server

我在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中删除

1 个答案:

答案 0 :(得分:0)

您似乎拥有要在第二个列表中的水果ID。

只需从第一个查询中排除所有带有此ID的水果:

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

BTW:你真的不应该以这种方式构建SQL查询。他们很容易受到sql注入。请改用参数化查询。以下是关于该主题的文章:Using parameterized queries with the SQLDataSource