有一个简单的表单,有6个下拉列表和一个gridview。当任何下拉列表更改该值时,通过更改select命令来过滤网格。用户可以通过网格的一行在另一个页面中导航。
在另一个页面中,用户有一个后退按钮,可以使用查询字符串加载页面,该查询字符串具有下拉列表的值。
我想完成两件事:
1)将值放在下拉列表中。我这很容易做到。
2)接下来就是根据这个值使网格显示数据。这是它的正常运作。
我认为如果我在页面加载中添加以下代码就可以了,但它没有。我尝试了所有的事件,但没有运气。我可以让下拉列表保持我想要的值,但网格显示所有记录:
if (!IsPostBack)
{
if (Request.QueryString["ret"] != null)
{
string[] retvalues = Request.QueryString["ret"].Split('_');
Update_Search(retvalues);
dsTodo.SelectCommand = dsTodo.SelectCommand + Build_Where();
GridView1.DataBind();
}
}
最后两行存在于下拉列表中的selectedvaluechange evnets中,它们可以正常运行来过滤网格。
答案 0 :(得分:0)
您正在设置SelectCommand
,但您没有执行它。这样做:
dsTodo.SelectCommand = dsTodo.SelectCommand + Build_Where();
dsTodo.Select(DataSourceSelectArguments.Empty);
GridView1.DataBind();
假设DataSourceID
的{{1}}属性设置为GridView1
。