有没有办法在被问到时有一个sqldatasource过滤器,但默认选择*?

时间:2012-02-24 17:21:47

标签: asp.net listview sqldatasource

我有一个绑定到sqldatasource的列表视图。我知道如何通过将sqldatasource绑定到控件值来过滤结果,但我希望sqldatasource在控件中没有选择任何内容时选择全部。我怎么做?

请记住,我将listview分页,因为我知道这会给简单的解决方案带来问题。例如,如果我使用!Page.IsPostback处理初始加载,列表的初始内容就可以了,但是如果我单击寻呼机控件中的页面,它将使用过滤器下拉列表中选择的任何名称重新加载网格

1 个答案:

答案 0 :(得分:1)

您可以使用SqlDataSource Selecting事件在执行select命令之前修改参数。

<强> C#

   protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
    {
        if (DropDownList1.SelectedValue != "thisValue")
        {
            // Do what you want with the datasource here. In the example I change the
            // value of a parameter
            e.Command.Parameters["@parameter"].Value = DropDownList1.SelectedValue;
        }
    }

<强> VB

Protected Sub SqlDataSource1_Selecting(sender As Object, e As SqlDataSourceSelectingEventArgs)
    If DropDownList1.SelectedValue <> "thisValue" Then
        e.Command.Parameters("@parameter").Value = DropDownList1.SelectedValue
    End If
End Sub

以下是关于SqlDataSource.Selecting Event

的MSDN文章