多个dropdownlist控件的使用 多个dropdownlist控件和一个gridview控件联合使用显示数据,任意选择一个下来框时gridview出现符合要求的信息,再选择第二个下拉框时,gridview控件显示的信息是两个控件中选择的并集(即:同时满足两者个共同要求):如何实现。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实就是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 ";elsesql = "select * from table where " + strWhere ;然后查询、绑定 gridview 获取dropdownlist的选中值传给你SQL语句,然后就读取到数据绑定到gridview上面。 我感觉没有太大的意义 如果是这样的话再第二个项连接数据库的时候多加一个where子句就可以搞定吧 +1 SQL动态拼接 //字符串拼接SQLstringBuilder sqlWhere = new stringBuilder();//DropDownList SelecteChaned 事件,然后判断你的几个DropdownList是否选中了值,//如果选中了就拼接到 SQL 查询语句去在 DropdownList 触发选中事件里重新绑定 GridView,为了不使整个页面不刷新,可以使用 Ajax 来实现 cmdstring="select * from xxx where 1=1"if(dropdownlist1.selectIndex!=0){cmdstring+=" and [字段]= dropdownlist1.selectValue";}以下的类似··想要及时刷新,记得开启dropdownlist1的autopostback....如果想要不刷新,可以把这些全放到一个btn里 void dataBaindView(){ string sqlWhere="": if(ddl1.selectIndex>0) { sqlWhere+=" name='"+ddl1.selectedValue+"'": } if(ddl2.selectIndex>0) { sqlWhere+=" and name2='"+ddl2.selectedValue+"'": }} ddl2.selectedindex().... { dataBaindView(); //下拉框改变 重新加载数据 } 4个dropdownlist控件并存,当我选择任意一个下拉框时,在gridview控件中能够显示数据;选择任意二个下拉框时,gridview显示的数据是两者的交集;选择任意三个时 ,是三个的交集。如何判断选择的条件,以对应gridview中显示的数据。 如果是4个并存的话,需要进行多少次dropdownlist控件的判断. 前面的部分知道是什么,请教下下面的代码执行情况要不要定义什么东西,因为我的数据连结时绑定的。<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 ";elsesql = "select * from table where " + strWhere ; 查询语句的问题 请教如何用C#模拟SAP网关接收IDOC文档 求助!弹出窗口确定下一步执行流程问题 FormView不显示问题 (asp.net) 类问类 打开一个项目时出现 ---.net无法创建和打开应用程序怎么办? 求救,急。 “视图状态无效,可能已损坏”这个是怎么回事,请教? DataGrid 不见了 repeater中模版中如何显示隐藏相关字段的显示! System.ArgumentException: 值类型与列类型不匹配 reportviewer间的跳转
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
+1
SQL动态拼接
stringBuilder sqlWhere = new stringBuilder();//DropDownList SelecteChaned 事件,然后判断你的几个DropdownList是否选中了值,
//如果选中了就拼接到 SQL 查询语句去在 DropdownList 触发选中事件里重新绑定 GridView,为了不使整个页面不刷新,可以使用 Ajax 来实现
{
cmdstring+=" and [字段]= dropdownlist1.selectValue";
}
以下的类似··
想要及时刷新,记得开启dropdownlist1的autopostback....
如果想要不刷新,可以把这些全放到一个btn里
{
string sqlWhere="":
if(ddl1.selectIndex>0)
{
sqlWhere+=" name='"+ddl1.selectedValue+"'":
}
if(ddl2.selectIndex>0)
{
sqlWhere+=" and name2='"+ddl2.selectedValue+"'":
}
} ddl2.selectedindex()....
{
dataBaindView(); //下拉框改变 重新加载数据
}
<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 ;