【问题标题】:Dropdown list with a "Select All" option带有“全选”选项的下拉列表
【发布时间】:2011-02-14 08:45:54
【问题描述】:

我有三个下拉框,Region、District 和 City。我希望我的地区下拉菜单有一个“全选”选项,以便用户可以获取该地区的所有城市,否则只需根据所选地区显示城市。我的查询如下所示:

IF @district =-2 THEN 
(SELECT DISTINCT city
FROM myTable
WHERE  RIGHT(Region, 3) = ?)
ORDER BY city) 
ELSE 
(select DISTINCT city
  FROM myTable WHERE District = ?)
Order by city

我正在使用 vb.net/sql 我在搜索中也找不到任何复杂的案例场景。 任何建议将不胜感激!

【问题讨论】:

    标签: asp.net select drop-down-menu if-statement case-statement


    【解决方案1】:

    我不太确定您的问题是什么,但请注意,查询可以简化如下:

    SELECT DISTINCT city
    FROM myTable
    WHERE (@district = -2 and RIGHT(Region, 3) = ?)
        or (@district <> -2 and District = ?)
    ORDER BY city
    

    【讨论】:

      【解决方案2】:

      2 种方式,要么在你的 SQL 中附加一个 select 语句,要么在 page_load 中添加选项

      if(!Page.IsPostBack)
      {
          DropDown1.Items.Insert(0, new ListItem("Select All", 0));
      
      }
      

      【讨论】:

      • 虽然该选项应该添加到下拉菜单中,但不确定这如何解决 SQL 问题。它只会搜索 WHERE District = '0' 不是吗?
      • 很抱歉这么晚才回复您,但我在工作中浏览了 SO,并且由于他们实施了 OpenID,因此我无法使用它(可能是代理的东西)。在这种情况下,您将使用类似于 WHERE (@District=0 OR @District=District) 的方式对 SQL 语句进行硬编码以接受 0 作为“全部”
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-30
      • 2011-11-17
      相关资源
      最近更新 更多