多个dropdownlist控件和一个gridview控件联合使用显示数据,任意选择一个下来框时gridview出现符合要求的信息,再选择第二个下拉框时,gridview控件显示的信息是两个控件中选择的并集(即:同时满足两者个共同要求):如何实现。

解决方案 »

  1.   

    其实就是sql语句的where条件。下面是伪代码
    String strWhere = "1=1";
    if(dropdownlist1.SelectedValue != "")
    strWhere += " And 字段1 = '" + dropdownlist1.SelectedValue + "'";
    if(dropdownlist2.SelectedValue != "")
    strWhere += " And 字段2 = '" + dropdownlist2.SelectedValue + "'";if(dropdownlistXXX.SelectedValue != "")
    strWhere += " And 字段XXX = '" + dropdownlistXXX.SelectedValue + "'";if(strWhere =="1=1")
    sql = "select * from table ";
    else
    sql = "select * from table where " + strWhere ;然后查询、绑定 gridview
      

  2.   

    获取dropdownlist的选中值传给你SQL语句,然后就读取到数据绑定到gridview上面。
      

  3.   

    我感觉没有太大的意义 如果是这样的话再第二个项连接数据库的时候多加一个where子句就可以搞定吧
      

  4.   


     +1   
     SQL动态拼接
      

  5.   

    //字符串拼接SQL
    stringBuilder sqlWhere = new stringBuilder();//DropDownList SelecteChaned 事件,然后判断你的几个DropdownList是否选中了值,
    //如果选中了就拼接到 SQL 查询语句去在 DropdownList 触发选中事件里重新绑定 GridView,为了不使整个页面不刷新,可以使用 Ajax 来实现
      

  6.   

     cmdstring="select * from xxx where 1=1"if(dropdownlist1.selectIndex!=0)
    {
    cmdstring+=" and [字段]= dropdownlist1.selectValue";
    }
    以下的类似··
    想要及时刷新,记得开启dropdownlist1的autopostback....
    如果想要不刷新,可以把这些全放到一个btn里
      

  7.   

    void dataBaindView()
    {
       string sqlWhere="":
       if(ddl1.selectIndex>0)
        {
          sqlWhere+=" name='"+ddl1.selectedValue+"'":
        }
        if(ddl2.selectIndex>0)
        {
          sqlWhere+="  and name2='"+ddl2.selectedValue+"'":
        }
    } ddl2.selectedindex()....
     {
      dataBaindView();  //下拉框改变 重新加载数据
     }
      

  8.   

    4个dropdownlist控件并存,当我选择任意一个下拉框时,在gridview控件中能够显示数据;选择任意二个下拉框时,gridview显示的数据是两者的交集;选择任意三个时 ,是三个的交集。如何判断选择的条件,以对应gridview中显示的数据。
      

  9.   

    如果是4个并存的话,需要进行多少次dropdownlist控件的判断.
      

  10.   

    前面的部分知道是什么,请教下下面的代码执行情况要不要定义什么东西,因为我的数据连结时绑定的。
    <asp:SqlDataSource ID="SqlDataSource3" runat="server" 
                ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
                SelectCommand="SELECT * FROM [Issue_Data] WHERE (([Status] = @Status) AND ([Product_Type] = @Product_Type))">
                <SelectParameters>
                    <asp:ControlParameter ControlID="DropDownList1" Name="Status" 
                        PropertyName="SelectedValue" Type="String" />
                    <asp:ControlParameter ControlID="DropDownList2" Name="Product_Type" 
                        PropertyName="SelectedValue" Type="String" />
                </SelectParameters>
            </asp:SqlDataSource>if(strWhere =="1=1")
    sql = "select * from table ";
    else
    sql = "select * from table where " + strWhere ;