C# 如何在过滤后的gridview中显示完整数据

C# 如何在过滤后的gridview中显示完整数据,c#,asp.net,gridview,C#,Asp.net,Gridview,我有两个下拉列表来过滤gridview中的数据,效果很好,但我想添加Select Any,它在没有过滤器的情况下显示数据 这是我在SQL数据源中的SelectCommand SelectCommand="SELECT * FROM [Courses] WHERE (([Language] = @Language) AND ([Level] = @Level) AND ([endDate] = @endDate) AND ([startDate] = @startDate))" 我

我有两个下拉列表来过滤gridview中的数据,效果很好,但我想添加Select Any,它在没有过滤器的情况下显示数据

这是我在SQL数据源中的SelectCommand

SelectCommand="SELECT * FROM [Courses]
WHERE (([Language] = @Language) AND ([Level] = @Level)       
AND ([endDate] = @endDate) AND ([startDate] = @startDate))"

我曾经遇到过类似的情况,我在运行时通过构建SelectCommand解决了这个问题。首先在两个下拉列表中添加一个选项,您需要在代码隐藏中签入该选项。 然后像这样签入代码隐藏:

String query = "SELECT * FROM YourTable";
String extndQuery = "";
bool and = false;
if (dropdownlist1.SelectedValue != "Any")
  {
    extndQuery += " Column1=@variable1";
    and = true;
  }
if (dropdownlist2.SelectedValue != "Any")
  {
    if (and)
    {
     extndQuery += " AND";
    }
    extndQuery += " Column2=@variable2";
    and = true;
  }
if (and)
{
  query += " WHERE" + extndQuery;
}

SelectCommand=query;